输出格式:
每个测试用例的输出占一行,按从大到小的顺序输出关键数字。
数字间用1个空格隔开,但一行中最后一个数字后没有空格。
输入样例:
6
3567811
输出样例:
76
1006.换个格式输出整数(15)
时间限制
400ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。
例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。
输入格式:
每个测试输入包含1个测试用例,给出正整数n(<1000)。
输出格式:
每个测试用例的输出占一行,用规定的格式输出n。
输入样例1:
234
输出样例1:
BBSSS1234
输入样例2:
23
输出样例2:
SS123
1007.素数对猜想(20)
时间限制
400ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
让我们定义dn为:
dn=pn+1-pn,其中pi是第i个素数。
显然有d1=1且对于n>1有dn是偶数。
“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。
输入格式:
每个测试输入包含1个测试用例,给出正整数N。
输出格式:
每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
1008.数组元素循环右移问题(20)
时间限制
400ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M……AN-1A0A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。
如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?
输入格式:
每个输入包含一个测试用例,第1行输入N(1<=N<=100)、M(M>=0);第2行输入N个整数,之间用空格分隔。
输出格式:
在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。
输入样例:
62
123456
输出样例:
561234
1009.说反话(20)
时间限制
400ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。
字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
HelloWorldHereICome
输出样例:
ComeIHereWorldHello
1010.一元多项式求导(25)
时间限制
400ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
设计函数求一元多项式的导数。
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。
数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。
数字间以空格分隔,但结尾不能有多余空格。
输入样例:
34-5261-20
输出样例:
123-10160
1011.A+B和C(15)
时间限制
50ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
HOU,Qiming
给定区间[-231,231]内的3个整数A、B和C,请判断A+B是否大于C。
输入格式:
输入第1行给出正整数T(<=10),是测试用例的个数。
随后给出T组测试用例,每组占一行,顺序给出A、B和C。
整数间以空格分隔。
输出格式:
对每组测试用例,在一行中输出“Case#X:
true”如果A+B>C,否则输出“Case#X:
false”,其中X是测试用例的编号(从1开始)。
输入样例:
4
123
234
214748364702147483646
0-2147483648-2147483647
输出样例:
Case#1:
false
Case#2:
true
Case#3:
true
Case#4:
false
1012.数字分类(20)
时间限制
50ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:
∙A1=能被5整除的数字中所有偶数的和;
∙A2=将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;
∙A3=被5除后余2的数字的个数;
∙A4=被5除后余3的数字的平均数,精确到小数点后1位;
∙A5=被5除后余4的数字中最大数字。
输入格式:
每个输入包含1个测试用例。
每个测试用例先给出一个不超过1000的正整数N,随后给出N个不超过1000的待分类的正整数。
数字间以空格分隔。
输出格式:
对给定的N个正整数,按题目要求计算A1~A5并在一行中顺序输出。
数字间以空格分隔,但行末不得有多余空格。
若其中某一类数字不存在,则在相应位置输出“N”。
输入样例1:
1312345678910201618
输出样例1:
301129.79
输入样例2:
8124567916
输出样例2:
N112N9
1013.数素数(20)
时间限制
100ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
令Pi表示第i个素数。
现任给两个正整数M<=N<=104,请输出PM到PN的所有素数。
输入格式:
输入在一行中给出M和N,其间以空格分隔。
输出格式:
输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
输入样例:
527
输出样例:
11131719232931374143
47535961677173798389
97101103
1014.福尔摩斯的约会(20)
时间限制
50ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
大侦探福尔摩斯接到一张奇怪的字条:
“我们约会吧!
3485djDkxh4hhGE2984akDfkkkkggEdsbs&hgsfdkd&Hyscvnm”。
大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四14:
04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代表一天里的第14个钟头(于是一天的0点到23点由数字0到9、以及大写字母A到N表示);后面两字符串第1对相同的英文字母's'出现在第4个位置(从0开始计数)上,代表第4分钟。
现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。
输入格式:
输入在4行中分别给出4个非空、不包含空格、且长度不超过60的字符串。
输出格式:
在一行中输出约会的时间,格式为“DAYHH:
MM”,其中“DAY”是某星期的3字符缩写,即MON表示星期一,TUE表示星期二,WED表示星期三,THU表示星期四,FRI表示星期五,SAT表示星期六,SUN表示星期日。
题目输入保证每个测试存在唯一解。
输入样例:
3485djDkxh4hhGE
2984akDfkkkkggEdsb
s&hgsfdk
d&Hyscvnm
输出样例:
THU14:
04
1015.德才论(25)
时间限制
200ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Li
宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:
“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。
凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。
”
现给出一批考生的德才分数,请根据司马光的理论给出录取排名。
输入格式:
输入第1行给出3个正整数,分别为:
N(<=105),即考生总数;L(>=60),为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取;H(<100),为优先录取线——德分和才分均不低于此线的被定义为“才德全尽”,此类考生按德才总分从高到低排序;才分不到但德分到线的一类考生属于“德胜才”,也按总分排序,但排在第一类考生之后;德才分均低于H,但是德分不低于才分的考生属于“才德兼亡”但尚有“德胜才”者,按总分排序,但排在第二类考生之后;其他达到最低线L的考生也按总分排序,但排在第三类考生之后。
随后N行,每行给出一位考生的信息,包括:
准考证号、德分、才分,其中准考证号为8位整数,德才分为区间[0,100]内的整数。
数字间以空格分隔。
输出格式:
输出第1行首先给出达到最低分数线的考生人数M,随后M行,每行按照输入格式输出一位考生的信息,考生按输入中说明的规则从高到低排序。
当某类考生中有多人总分相同时,按其德分降序排列;若德分也并列,则按准考证号的升序输出。
输入样例:
146080
100000016490
100000029060
100000118580
100000038580
100000048085
100000058277
100000068376
100000079078
100000087579
100000095990
100000108845
1000001280100
100000139099
100000146660
输出样例:
12
100000139099
1000001280100
100000038580
100000118580
100000048085
100000079078
100000068376
100000058277
100000029060
100000146660
100000087579
100000016490
1016.部分A+B(15)
时间限制
100ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。
例如:
给定A=3862767,DA=6,则A的“6部分”PA是66,因为A中有2个6。
现给定A、DA、B、DB,请编写程序计算PA+PB。
输入格式:
输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0输出格式:
在一行中输出PA+PB的值。
输入样例1:
38627676135302933
输出样例1:
399
输入样例2:
38627671135302938
输出样例2:
0
1017.A除以B(20)
时间限制
100ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。
你需要输出商数Q和余数R,使得A=B*Q+R成立。
输入格式:
输入在1行中依次给出A和B,中间以1空格分隔。
输出格式:
在1行中依次输出Q和R,中间以1空格分隔。
输入样例:
1234567890509876543217
输出样例:
176366841501410934743
1018.锤子剪刀布(20)
时间限制
100ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
大家应该都会玩“锤子剪刀布”的游戏:
两人同时给出手势,胜负规则如图所示:
现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
输入格式:
输入第1行给出正整数N(<=105),即双方交锋的次数。
随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。
C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。
输出格式:
输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分隔。
第3行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有1个空格。
如果解不唯一,则输出按字母序最小的解。
输入样例:
10
CJ
JB
CB
BB
BC
CC
CB
JB
BC
JJ
输出样例:
532
235
BB
1019.数字黑洞(20)
时间限制
100ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。
一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。
例如,我们从6767开始,将得到
7766-6677=1089
9810-0189=9621
9621-1269=8352
8532-2358=6174
7641-1467=6174
......
现给定任意4位正整数,请编写程序演示到达黑洞的过程。
输入格式:
输入给出一个(0,10000)区间内的正整数N。
输出格式:
如果N的4位数字全相等,则在一行内输出“N-N=0000”;否则将计算的每一步在一行内输出,直到6174作为差出现,输出格式见样例。
注意每个数字按4位数格式输出。
输入样例1:
6767
输出样例1:
7766-6677=1089
9810-0189=9621
9621-1269=8352
8532-2358=6174
输入样例2:
2222
输出样例2:
2222-2222=0000
1020.月饼(25)
时间限制
100ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。
现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。
注意:
销售时允许取出一部分库存。
样例给出的情形是这样的:
假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。
如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种月饼、以及5万吨第3种月饼,获得72+45/2=94.5(亿元)。
输入格式:
每个输入包含1个测试用例。
每个测试用例先给出一个不超过1000的正整数N表示月饼的种类数、以及不超过500(以万吨为单位)的正整数D表示市场最大需求量。
随后一行给出N个正数表示每种月饼的库存量(以万吨为单位);最后一行给出N个正数表示每种月饼的总售价(以亿元为单位)。
数字间以空格分隔。
输出格式:
对每组测试用例,在一行中输出最大收益,以亿元为单位并精确到小数点后2位。
输入样例:
320
181510
757245
输出样例:
94.50
1021.个位数统计(15)
时间限制
100ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
给定一个k位整数N=dk-1*10k-1+...+d1*101+d0(0<=di<=9,i=0,...,k-1,dk-1>0),请编写程序统计每种不同的个位数字出现的次数。
例如:
给定N=100311,则有2个0,3个1,和1个3。
输入格式:
每个输入包含1个测试用例,即一个不超过1000位的正整数N。
输出格式:
对N中每一种不同的个位数字,以D:
M的格式在一行中输出该位数字D及其在N中出现的次数M。
要求按D的升序输出。
输入样例:
100311
输出样例:
0:
2
1:
3
3:
1
1022.D进制的A+B(20)
时间限制
100ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
输入两个非负10进制整数A和B(<=230-1),输出A+B的D(1输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
1234568
输出样例:
1103
1023.组个最小数(20)
时间限制
100ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CAO,Peng
给定数字0-9各若干个。
你可以以任意顺序排列这些数字,但必须全部使用。
目标是使得最后得到的数尽可能小(注意0不能做首位)。
例如:
给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。
现给定数字,请编写程序输出能够组成的最小的数。
输入格式:
每个输入包含1个测试用例。
每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。
整数间用一个空格分隔。
10个数字的总个数不超过50,且至少拥有1个非0的数字。
输出格式:
在一行中输出能够组成的最小的数。
输入样例:
2200030010
输出样例:
10015558
1024.科学计数法(20)
时间限制
100ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
HOU,Qiming
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。
现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。
输入格式:
每个输入包含1个测试用例,即一个以科学计数法表示的实数A。
该数字的存储长度不超过9999字节,且其指数的绝对值不超过9999。
输出格式:
对每个测试用例,在一行中按普通数字表示法输出A,并保证所有有效位都被保留,包括末尾的0。
输入样例1:
+1.23400E-03
输出样例1:
0.00123400
输入样例2:
-1.2E+10
输出样例2:
-12000000000
1025.反转链表(25)
时间限制
300ms
内存限制
32000kB
代码长度限制
8000B
判题程序
Standard
作者
CHEN,Yue
给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。
例如:
给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。
输入格式:
每个输入包含1个测试用例。
每个测试用例第1行给出第1个结点的地址、结