图像的一行用N个整数表示(所有整数大于等于0,小于等于255),两个整数之间用一个空格隔开。
Output
输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积和周长,用一个空格分开。
SampleInput
6
999999999999
999999509999
999949495051
995020255299
405099999999
999999999999
SampleOutput
98
5、填词
Description
Alex喜欢填词游戏。
填词是游戏是一个非常简单的游戏。
填词游戏包括一个N*M大小的矩形方格盘和P个单词。
玩家需要把每个方格中填上一个字母使得每个单词都能在方格盘上找到。
每个单词都能找到要满足下面的条件:
每个方格都不能同时属于超过一个的单词。
一个长为k的单词一定要占据k个方格。
单词在方格盘中出现的方向只能是竖直的或者水平的。
你的任务是首先在方格盘上找到所有的单词,当然在棋盘上可能有些方格没有被单词占据。
然后把这些没有用的方格找出来,把这些方格上的字母按照字典序组成一个“神秘单词”。
如果你还不了解规则,我们可以具一个例子,比如在下图中寻找单词BEG和GEE。
Input
输入的第一行包括三个整数N,M和P(2<=M,N<=10,0<=P<=100)。
接下来的N行,每行包括M个字符,来表示方格盘。
接下来P行给出需要在方格盘中找到的单词。
输入保证填词游戏至少有一组答案。
输入中给出的字母都是大写字母。
Output
输出“神秘单词”,注意“神秘单词”中的字母要按照字典序给出。
SampleInput
332
EBG
GEE
EGE
BEG
GEE
SampleOutput
EEG
6、垂直直方图
Description
输入4行全部由大写字母组成的文本,输出一个垂直直方图,给出每个字符出现的次数。
注意:
只用输出字符的出现次数,不用输出空白字符,数字或者标点符号的输出次数。
Input
输入包括4行由大写字母组成的文本,每行上字符的数目不超过80个。
Output
输出包括若干行。
其中最后一行给出26个大写英文字母,这些字母之间用空格隔开。
前面的几行包括空格和星号,每个字母出现几次,就在这个字母的上方输出一个星号。
注意:
输出的第一行不能是空行。
SampleInput
THEQUICKBROWNFOXJUMPEDOVERTHELAZYDOG.
THISISANEXAMPLETOTESTFORYOUR
HISTOGRAMPROGRAM.
HELLO!
SampleOutput
*
*
**
****
****
******
**********
*************
******************
**************************
ABCDEFGHIJKLMNOPQRSTUVWXYZ
7、谁拿了最多奖学金
Description
某校的惯例是在每学期的期末考试之后发放奖学金。
发放的奖学金共有五种,获取的条件各自不同:
1)院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;
2)五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;
3)成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;
4)西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;
5)班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;
只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。
例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。
现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。
Input
输入的第一行是一个整数N(1<=N<=100),表示学生的总数。
接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。
姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。
每两个相邻数据项之间用一个空格分隔。
Output
输出包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。
如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。
第三行是这N个学生获得的奖学金的总数。
SampleInput
4
YaoLin8782YN0
ChenRuiyi8878NY1
LiXin9288NN0
ZhangQin8387YN1
SampleOutput
ChenRuiyi
9000
28700
8、简单密码
Description
JuliusCaesar曾经使用过一种很简单的密码。
对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。
比如字符A用F来代替。
如下是密文和明文中字符的对应关系。
密文
ABCDEFGHIJKLMNOPQRSTUVWXYZ
明文
VWXYZABCDEFGHIJKLMNOPQRSTU
你的任务是对给定的密文进行解密得到明文。
你需要注意的是,密文中出现的字母都是大写字母。
密文中也包括非字母的字符,对这些字符不用进行解码。
Input
输入中的测试数据不超过100组。
每组数据都有如下的形式,而且各组测试数据之间没有空白的行。
一组测试数据包括三部分
起始行-一行,包括字符串"START"
密文-一行,给出密文,密文不为空,而且其中的字符数不超过200
结束行-一行,包括字符串"END"
在最后一组测试数据之后有一行,包括字符串"ENDOFINPUT"。
Output
对每组数据,都有一行输出,给出密文对应的明文。
SampleInput
START
NSBFW,JAJSYXTKNRUTWYFSHJFWJYMJWJXZQYTKYWNANFQHFZXJX
END
START
NBTZQIWFYMJWGJKNWXYNSFQNYYQJNGJWNFSANQQFLJYMFSXJHTSINSWTRJ
END
START
IFSLJWPSTBXKZQQBJQQYMFYHFJXFWNXRTWJIFSLJWTZXYMFSMJ
END
ENDOFINPUT
SampleOutput
INWAR,EVENTSOFIMPORTANCEARETHERESULTOFTRIVIALCAUSES
IWOULDRATHERBEFIRSTINALITTLEIBERIANVILLAGETHANSECONDINROME
DANGERKNOWSFULLWELLTHATCAESARISMOREDANGEROUSTHANHE
9、化验诊断
Description
下表是进行血常规检验的正常值参考范围,及化验值异常的临床意义:
给定一张化验单,判断其所有指标是否正常,如果不正常,统计有几项不正常。
化验单上的值必须严格落在正常参考值范围内,才算是正常。
正常参考值范围包括边界,即落在边界上也算正常。
Input
Output
对于每组测试数据,输出一行。
如果所有检验项目正常,则输出:
normal;否则输出不正常的项的数目。
SampleInput
2
female4.54.011537200
male3.93.515536301
SampleOutput
normal
3
10、密码
Description
Bob和Alice开始使用一种全新的编码系统。
它是一种基于一组私有钥匙的。
他们选择了n个不同的数a1,...,an,它们都大于0小于等于n。
机密过程如下:
待加密的信息放置在这组加密钥匙下,信息中的字符和密钥中的数字一一对应起来。
信息中位于i位置的字母将被写到加密信息的第ai个位置,ai是位于i位置的密钥。
加密信息如此反复加密,一共加密k次。
信息长度小于等于n。
如果信息比n短,后面的位置用空格填补直到信息长度为n。
请你帮助Alice和Bob写一个程序,读入密钥,然后读入加密次数k和要加密的信息,按加密规则将信息加密。
Input
输入包括几块。
每块第一行有一个数字n,0数字都是大于0小于等于n的。
下面每行包含一个k和一个信息字符串,它们之间用空格格开。
每行以换行符结束,换行符不是要加密的信息。
每个块的最后一行只有一个0。
最后一个块后有一行,该行只有一个0。
Output
输出有多个块,每个块对应一个输入块。
每个块包含输入中的信息经过加密后的字符串,顺序与输入顺序相同。
所有加密后的字符串的长度都是n。
每一个块后有一个空行。
SampleInput
10
45372816109
1HelloBob
1995CERC
0
0
SampleOutput
BolHeolb
CRCE
实验二进制、日期及转换问题
1、十进制到八进制
Description
把一个十进制正整数转化成八进制
Input
一行,仅含一个十进制表示的整数a(0Output
一行,a的八进制表示
SampleInput
9
SampleOutput
11
2、八进制到十进制
Description
把一个八进制正整数转化成十进制
Input
一行,仅含一个八进制表示的正整数a,a的十进制表示的范围是(0,65536)
Output
一行,a的十进制表示
SampleInput
11
SampleOutput
9
3、电话号码
Description
企业喜欢用容易被记住的电话号码。
让电话号码容易被记住的一个办法是将它写成一个容易记住的单词或者短语。
例如,你需要给滑铁卢大学打电话时,可以拨打TUT-GLOP。
有时,只将电话号码中部分数字拼写成单词。
当你晚上回到酒店,可以通过拨打310-GINO来向Gino's订一份pizza。
让电话号码容易被记住的另一个办法是以一种好记的方式对号码的数字进行分组。
通过拨打必胜客的“三个十”号码3-10-10-10,你可以从他们那里订pizza。
电话号码的标准格式是七位十进制数,并在第三、第四位数字之间有一个连接符。
电话拨号盘提供了从字母到数字的映射,映射关系如下:
A,B,和C映射到2
D,E,和F映射到3
G,H,和I映射到4
J,K,和L映射到5
M,N,和O映射到6
P,R,和S映射到7
T,U,和V映射到8
W,X,和Y映射到9
Q和Z没有映射到任何数字,连字符不需要拨号,可以任意添加和删除。
TUT-GLOP的标准格式是888-4567,310-GINO的标准格式是310-4466,3-10-10-10的标准格式是310-1010。
如果两个号码有相同的标准格式,那么他们就是等同的(相同的拨号)
你的公司正在为本地的公司编写一个电话号码薄。
作为质量控制的一部分,你想要检查是否有两个和多个公司拥有相同的电话号码。
Input
输入的格式是,第一行是一个正整数,指定电话号码薄中号码的数量(最多100000)。
余下的每行是一个电话号码。
每个电话号码由数字,大写字母(除了Q和Z)以及连接符组成。
每个电话号码中只会刚好有7个数字或者字母。
Output
对于每个出现重复的号码产生一行输出,输出是号码的标准格式紧跟一个空格然后是它的重复次数。
如果存在多个重复的号码,则按照号码的字典升序输出。
如果输入数据中没有重复的号码,输出一行:
Noduplicates.
SampleInput
12
4873279
ITS-EASY
888-4567
3-10-10-10
888-GLOP
TUT-GLOP
967-11-11
310-GINO
F101010
888-1200
-4-8-7-3-2-7-9-
487-3279
SampleOutput
310-10102
487-32794
888-45673
4、字符串判等
Description
判断两个由大小写字母和空格组成的字符串在忽略大小写和压缩掉空格后是否相等
Input
第1行是测试数据的组数n,每组测试数据占2行,第1行是第一个字符串s1,第2行是第二个字符串s2。
每组测试数据之间有一个空行,每行数据不超过100个字符(注意字符串的长度可能为0)
Output
n行,相等则输出YES,否则输出NO
SampleInput
3
aAbbBBcccCCC
AaBBbbCCCccc
adfadffasdf
adasddfsfsaf
SampleOutput
YES
YES
NO
5、AllinAll
Description
Youhavedevisedanewencryptiontechniquewhichencodesamessagebyinsertingbetweenitscharactersrandomlygeneratedstringsinacleverway.Becauseofpendingpatentissueswewillnotdiscussindetailhowthestringsaregeneratedandinsertedintotheoriginalmessage.Tovalidateyourmethod,however,itisnecessarytowriteaprogramthatchecksifthemessageisreallyencodedinthefinalstring.
Giventwostringssandt,youhavetodecidewhethersisasubsequenceoft,i.e.ifyoucanremovecharactersfromtsuchthattheconcatenationoftheremainingcharactersiss.
Input
Theinputcontainsseveraltestcases.Eachisspecifiedbytwostringss,tofalphanumericASCIIcharactersseparatedbywhitespace.Thelengthofsandtwillnomorethan100000.
Output
Foreachtestcaseoutput"Yes",ifsisasubsequenceoft,otherwiseoutput"No".
SampleInput
sequencesubsequence
personcompression
VERDIvivaVittorioEmanueleReDiItalia
caseDoesMatterCaseDoesMatter
SampleOutput
Yes
No
Yes
No
6、不吉利日期
Description
在国外,每月的13号和每周的星期5都是不吉利的。
特别是当13号那天恰好是星期5时,更不吉利。
已知某年以及该年一月一日是星期w(w=1..7),求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字。
Input
输入有一行,第一个整数为年份,第二个整数为该年一月一日是星期几(w)。
(1<=w<=7)
Output
输出有一到多行,每行一个月份,表示该月的13日是星期五。
SampleInput
20067
SampleOutput
1
10
7、循环数
Description
n位的一个整数是循环数(cyclic)的条件是:
当用一个1到n之间的整数去乘它时,会得到一个将原来的数首尾相接循环移动若干数字再在某处断开而得到的数字。
也就是说,如果把原来的数字和新的数字都首尾相接,他们得到的环是相同的。
只是两个数的起始数字不一定相同。
例如,数字142857是循环数,因为:
142857*1=142857
142857*2=285714
142857*3=428571
142857*4=571428
142857*5=714285
142857*6=857142
Input
写一个程序确定给定的数是否是循环数。
输入包括多个长度为2位到60位的整数。
(注意,先导的0也是合理的输入不应该被忽略,例如"01"是2位数,"1"是1位数。
)
Output
对于每一个输入的整数,输出一行表明它是否是循环数。
SampleInput
142857
142856
142858
01
0588235294117647
SampleOutput
142857iscyclic
142856isnotcyclic
14