样例输入
abc
样例输出
abc
acb
bac
bca
cab
cba
提示
每组样例输出结束后要再输出一个回车。
2008年北京大学图形实验室计算机研究生机试真题1121:
首字母大写
题目描述
对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。
在字符串中,单词之间通过空白符分隔,空白符包括:
空格('')、制表符('\t')、回车符('\r')、换行符('\n')。
输入输入一行:
待处理的字符串(长度小于100)。
输出可能有多组测试数据,对于每组数据,输出一行:
转换后的字符串。
样例输入
ifso,youalreadyhaveagoogleaccount.youcansigninontheright.
样例输出
IfSo,YouAlreadyHaveAGoogleAccount.YouCanSignInOnTheRight.
2008年北京大学图形实验室计算机研究生机试真题1122:
吃糖果
题目描述
名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有N块巧克力,20>N>0)。
妈妈告诉名名每天可以吃一块或者两块巧克力。
假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。
例如:
如果N=1,则名名第1天就吃掉它,共有1种方案;
如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;
如果N=3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=3种方案;
如果N=4,则名名可以第1天吃1块,剩3块,也可以第1天吃2块,剩2块,共有3+2=5种方案。
现在给定N,请你写程序求出名名吃巧克力的方案数目。
输入输入只有1行,即整数N。
输出可能有多组测试数据,对于每组数据,输出只有1行,即名名吃巧克力的方案数。
样例输入
4
样例输出
5
2008年北京大学图形实验室计算机研究生机试真题1123:
采药6
时间限制:
1Sec 内存限制:
32MB
提交:
53 解决:
24
题目描述
辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。
为此,他想拜附近最有威望的医师为师。
医师为了判断他的资质,给他出了一个难题。
医师把他带到个到处都是草药的山洞里对他说:
“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。
我会给你一段时间,在这段时间里,你可以采到一些草药。
如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。
”
如果你是辰辰,你能完成这个任务吗?
输入
输入的第一行有两个整数T(1<=T<=1000)和M(1<=M<=100),T代表总共能够用来采药的时间,M代表山洞里的草药的数目。
接下来的M行每行包括两个在1到100之间(包括1和100)的的整数,分别表示采摘某株草药的时间和这株草药的价值。
输出
可能有多组测试数据,对于每组数据,
输出只包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。
样例输入
703
71100
691
12
样例输出
3
2008年北京大学图形实验室计算机研究生机试真题1124:
DigitalRoots
时间限制:
1Sec 内存限制:
32MB
提交:
45 解决:
22
题目描述
Thedigitalrootofapositiveintegerisfoundbysummingthedigitsoftheinteger.Iftheresultingvalueisasingledigitthenthatdigitisthedigitalroot.Iftheresultingvaluecontainstwoormoredigits,thosedigitsaresummedandtheprocessisrepeated.Thisiscontinuedaslongasnecessarytoobtainasingledigit.
Forexample,considerthepositiveinteger24.Addingthe2andthe4yieldsavalueof6.Since6isasingledigit,6isthedigitalrootof24.Nowconsiderthepositiveinteger39.Addingthe3andthe9yields12.Since12isnotasingledigit,theprocessmustberepeated.Addingthe1andthe2yeilds3,asingledigitandalsothedigitalrootof39.
输入 Theinputfilewillcontainalistofpositiveintegers,oneperline.
Theendoftheinputwillbeindicatedbyanintegervalueofzero.
输出 Foreachintegerintheinput,outputitsdigitalrootonaseparatelineoftheoutput.
样例输入
24
39
0
样例输出
6
3
2008年北京大学图形实验室计算机研究生机试真题1125:
大整数的因子7
时间限制:
1Sec 内存限制:
32MB
提交:
71 解决:
23
题目描述
已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k.
输入
若干个非负整数c,c的位数<=30
每行一个c,当c=-1时中止
(不要对-1进行计算!
)
输出
每一个c的结果占一行
1)若存在满足c%k==0的k,输出所有这样的k,中间用空格隔开,最后一个k后面没有空格。
2)若没有这样的k则输出"none"
样例输入
30
72
13
-1
样例输出
2356
234689
none
提示
注意整数溢出问题
不要对-1进行计算
2008年北京大学图形实验室计算机研究生机试真题1126:
打印极值点下标
时间限制:
1Sec 内存限制:
32MB
提交:
47 解决:
29
题目描述
在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数,
或者小于所有它相邻的整数,则称为该整数为一个极值点,极值点的下标就是i。
输入每个案例的输入如下:
有2×n+1行输入:
第一行是要处理的数组的个数n;
对其余2×n行,第一行是此数组的元素个数k(4输出每个案例输出为n行:
每行对应于相应数组的所有极值点下标值,下标值之间用空格分隔。
样例输入
3
10
10121211111223241212
15
12121221122222112222217636312342567676
15
12141221122222222222217636312342567673
样例输出
07
234561012
023101214
2008年北京大学图形实验室计算机研究生机试真题1127:
简单密码8
题目描述
JuliusCaesar曾经使用过一种很简单的密码。
对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。
比如字符A用F来代替。
如下是密文和明文中字符的对应关系。
密文
ABCDEFGHIJKLMNOPQRSTUVWXYZ
明文
VWXYZABCDEFGHIJKLMNOPQRSTU
你的任务是对给定的密文进行解密得到明文。
你需要注意的是,密文中出现的字母都是大写字母。
密文中也包括非字母的字符,对这些字符不用进行解码。
输入
输入中的测试数据不超过100组。
每组数据都有如下的形式,而且各组测试数据之间没有空白的行。
一组测试数据包括三部分:
1. 起始行-一行,包括字符串"START"
2. 密文-一行,给出密文,密文不为空,而且其中的字符数不超过200
3. 结束行-一行,包括字符串"END"
在最后一组测试数据之后有一行,包括字符串"ENDOFINPUT"。
输出
对每组数据,都有一行输出,给出密文对应的明文。
样例输入
START
NSBFW,JAJSYXTKNRUTWYFSHJFWJYMJWJXZQYTKYWNANFQHFZXJX
END
START
NBTZQIWFYMJWGJKNWXYNSFQNYYQJNGJWNFSANQQFLJYMFSXJHTSINSWTRJ
END
START
IFSLJWPSTBXKZQQBJQQYMFYHFJXFWNXRTWJIFSLJWTZXYMFSMJ
END
ENDOFINPUT
样例输出
INWAR,EVENTSOFIMPORTANCEARETHERESULTOFTRIVIALCAUSES
IWOULDRATHERBEFIRSTINALITTLEIBERIANVILLAGETHANSECONDINROME
DANGERKNOWSFULLWELLTHATCAESARISMOREDANGEROUSTHANHE
2008年北京大学图形实验室计算机研究生机试真题1128:
求平均年龄
题目描述
班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。
输入第一行有一个整数n(1<=n<=100),表示学生的人数。
其后n行每行有1个整数,取值为15到25。
输出可能有多组测试数据,对于每组数据,
输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。
样例输入
2
18
17
样例输出
17.50
提示要输出浮点数、双精度数小数点后2位数字,可以用下面这种形式:
printf("%.2f",num);
2008年北京大学图形实验室计算机研究生机试真题1129:
Skew数9
时间限制:
1Sec 内存限制:
32MB
提交:
34 解决:
28
题目描述
在skewbinary表示中,第k位的值xk表示xk*(2k+1-1)。
每个位上的可能数字是0或1,最后面一个非零位可以是2,
例如,10120(skew)=1*(25-1)+0*(24-1)+1*(23-1)+2*(22-1)+0*(21-1)=31+0+7+6+0=44.
前十个skew数是0、1、2、10、11、12、20、100、101、以及102。
输入
输入包含一行或多行,每行包含一个整数n。
如果n=0表示输入结束,否则n是一个skew数
输出
可能有多组测试数据,对于每一个输入,
输出它的十进制表示。
转换成十进制后,n不超过231-1=2147483647
样例输入
10120
200000000000000000000000000000
10
1000000000000000000000000000000
11
100
1111100000111000010110110200