赞
踩
本届比赛的主题是“智能照护”,那么就请你首先为智能照护机器人写一个最简单的问候程序 —— 无论遇见谁,首先说一句“您好呀~”。
本题没有输入
在一行中输出问候语的汉语拼音 Nin Hao Ya ~
。
无
Nin Hao Ya ~
print("Nin Hao Ya ~")
现在我们把智能机器人的问候语功能升级一下。当机器人遇到一位老人时,可以通过人脸识别获取到老人的姓名和性别,此时就需要你根据这些信息输出有针对性的问候语。例如当机器人识别出对面是一位女性,姓名是“陈越”的时候,它要会说:“陈奶奶您好呀~”。
输入在一行中按照下面的格式给出一位老人的信息:
性别 姓 名
其中 性别
为 F
时表示女性,M
表示男性。姓
和 名
分别为仅由英文字母组成的、长度不超过 10 的非空字符串。
在一行中输出问候语 X Y Nin Hao Ya ~
,其中 X
是老人的 姓
,Y
是老人的尊称 —— 如果是女性则为 NaiNai
,男性则为 YeYe
。
F Chen Yue
Chen NaiNai Nin Hao Ya ~
M Hilbert David
Hilbert YeYe Nin Hao Ya ~
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String[] input = in.readLine().split(" ");
if (input[0].equals("F")) System.out.printf("%s NaiNai Nin Hao Ya ~", input[1]);
else System.out.printf("%s YeYe Nin Hao Ya ~", input[1]);
}
}
在护理中心,智能监测仪分分钟记录着老人的各项身体指标,如果某一项指标超过了阈值范围,就会自动联系医护人员。
本题以心率为例,请你实现智能监测的功能,当发现老人的心率过缓或过急时,就发出预警信号。
输入在第一行中给出 2 个正整数:N(≤1000),为心率监测的数据量;T(≤20)为心率波动阈值 —— 这里我们假设在安静状态下健康成人心率大约平均 80 次/分钟,当老人的心率在区间 [80−T,80+T] 内时被认为是正常的。
随后 N 行,每行给出一个时间点和该时刻测得的心率值,格式为:时时:分分:秒秒 心率
,其中 时时
是一天内的小时数,取值区间为 [00, 23];分分
和秒秒
对应分钟数和秒数,取值区间为 [00, 59];心率
为不超过 200 的正整数。
按照输入的顺序检查每个给定时刻的心率,如果遇到不正常的数据,在一行中按照输入格式原样输出读到的数据。题目保证至少有一条输出。
5 15
08:01:23 95
08:05:00 100
09:18:23 75
10:23:51 60
12:00:59 80
08:05:00 100
10:23:51 60
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String[] input = in.readLine().split(" "); int n = Integer.parseInt(input[0]); int t = Integer.parseInt(input[1]); int low = 80 - t, high = 80 + t; StringBuilder sb = new StringBuilder(); for (int i = 0; i < n; i++) { String s = in.readLine(); input = s.split(" "); int data = Integer.parseInt(input[1]); if (data < low || data > high) { sb.append(s).append("\n"); } } System.out.print(sb); } }
英语老师要求学生按照如下规则写一串字母:
例如 aAaABCDdcbBC
就是一个合法的字母串;而 dEFfeFGhI
就是非法的。
本题就请你编写程序,自动生成一个合法的字母串。
输入在第一行给出一个不超过 104 的正整数 N 和第一个字母。
随后一行给出一个由 0
和 1
组成的长度为 N 的字符串。这个串给出了字母串的生成规则:从第一个字母开始,如果对应的规则串字符是 0
,则下一个字母应该生成当前字母的大/小写;如果是 1
则下一个字母应该生成当前字母的前/后一个字母。
**注意:**因为字母表中 a
没有前一个字母,Z
没有后一个字母,所以如果此时遇到 1
就忽略之。
在一行中输出按规则生成的字母串。
12 a
001011101101
aAaABCDdcbBC
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String[] input = in.readLine().split(" "); int n = Integer.parseInt(input[0]); char c = input[1].charAt(0); char[] chars = in.readLine().toCharArray(); StringBuilder sb = new StringBuilder(); sb.append(c); for (int i = 0; i < chars.length; i++) { int num = chars[i] - '0'; if (num == 0) { if (c >= 'A' && c <= 'Z') { c += 32; sb.append(c); } else if (c >= 'a' && c <= 'z') { c -= 32; sb.append(c); } } else { if (c >= 'A' && c < 'Z') { c += 1; sb.append(c); } else if (c > 'a' && c <= 'z') { c -= 1; sb.append(c); } } } System.out.println(sb); } }
为了教宝宝做算术,老师布置了一个作业,题目是这样的:给宝宝两个小于 1000 的正整数,要求宝宝把第一个数字的每一位加起来,得到一个数字 A;再把第二个数字的每一位乘起来,得到一个数字 B。最后要求宝宝把 A 和 B 并排放,大的那个放左边,小的放右边。
这个作业可有点难,下面就请你写个程序,帮助宝宝完成。
输入在一行中给出两个小于 1000 的正整数,数字间以空格分隔。
在一行中按老师的要求输出结果。
123 45
206
67 890
130
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String[] input = in.readLine().split(" "); int a = Integer.parseInt(input[0]); int b = Integer.parseInt(input[1]); int A = 0, B = 1; while (a != 0) { A += a % 10; a /= 10; } while (b != 0) { B *= b % 10; b /= 10; } if (A >= B) { System.out.printf("%d%d", A, B); } else { System.out.printf("%d%d", B, A); } } }
对照设计师给出的瓷砖拼接图案,请你统计一下需要多少种不同的瓷砖各多少块?
这里每块瓷砖都是单一颜色的正方形,每种颜色用一个 { 0
-9
,a
-z
,A
-Z
} 集合中的字符来表示。当设计图中有一方块颜色的面积为 L×L 时,我们将用一整块边长为 L 的正方形瓷砖来填充,而不会选用较小的同色瓷砖来拼接。此外,为了避免多解的情况,我们规定必须按照从上到下、从左到右的顺序贴瓷砖(参见样例解释),瓷砖不可重叠,并且要求每一步选用的瓷砖的面积尽可能大。
输入首先在第一行中给出两个不超过 103 的正整数 N 和 M,对应整面墙的高和宽。随后 N 行,每行给出 M 个字符,对应这一行的颜色分布。
首先在第一行输出不同瓷砖的种类数 K。随后 K 行,每行按格式
color = C; size = L; amount = T
输出一种瓷砖的信息。其中 C
是表示颜色的字符,L
是正方形的边长,T
是这种瓷砖需要的数量。
瓷砖按照其颜色的升序输出,同色的瓷砖按照其边长的升序输出。
6 6
aaadee
aacbee
deccda
caccbe
ddecbb
ddadbb
10
color = a; size = 1; amount = 4
color = a; size = 2; amount = 1
color = b; size = 1; amount = 2
color = b; size = 2; amount = 1
color = c; size = 1; amount = 3
color = c; size = 2; amount = 1
color = d; size = 1; amount = 4
color = d; size = 2; amount = 1
color = e; size = 1; amount = 3
color = e; size = 2; amount = 1
下图中的数字给出了贴瓷砖的顺序。
侥幸拿了 2 分,无法展示代码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。