1、PAT Basic Level1003. 我要通过!(20)“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;3. 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a, b, c 均或者是空字符串,或者是仅由字母 A 组成的字符串。现在就请你为PAT写一
2、个自动裁判程序,判定哪些字符串是可以获得“答案正确”的。输入格式: 每个测试输入包含1个测试用例。第1行给出一个自然数n (10),是需要检测的字符串个数。接下来每个字符串占一行,字符串长度不超过100,且不包含空格。输出格式:每个字符串的检测结果占一行,如果该字符串可以获得“答案正确”,则输出YES,否则输出NO。输入样例:8PATPAATAAPATAAAAPAATAAAAxPATxPTWhateverAPAAATAA输出样例:YESYESYESYESNONONONO1005. 继续(3n+1)猜想 (25)时间限制400 ms内存限制32000 kB代码长度限制8000 B判题程序Stan
3、dard作者CHEN, Yue卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这4个数已经在验证3的时候遇到过了,我们称5、8、4、2是被3“覆盖”的数。我们称一个数列中的某个数n为“关键数”,如果n不能被数列中的其他数字所覆盖。现在给定一系列待验证的数字,我们只需要验证其中的几个关键数,就可以不必再重复验证余下的
4、数字。你的任务就是找出这些关键数字,并按从大到小的顺序输出它们。输入格式:每个测试输入包含1个测试用例,第1行给出一个正整数K(100),第2行给出K个互不相同的待验证的正整数n(1n=100)的值,数字间用空格隔开。输出格式:每个测试用例的输出占一行,按从大到小的顺序输出关键数字。数字间用1个空格隔开,但一行中最后一个数字后没有空格。输入样例:63 5 6 7 8 11输出样例:7 61006. 换个格式输出整数 (15)时间限制400 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue让我们用字母B来表示“百”、字母S表示“十”,用“12.n
5、”来表示个位数字n(10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入包含1个测试用例,给出正整数n(1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N (0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M=0)个位置,即将A中的数据由(A0 A1AN-1)变换为(AN-M AN-1 A0 A1AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含
6、一个测试用例,第1行输入N ( 1=N=0);第2行输入N个整数,之间用空格分隔。输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。输入样例:6 21 2 3 4 5 6输出样例:5 6 1 2 3 41009. 说反话 (20)时间限制400 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,
7、单词之间用1个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Come输出样例:Come I Here World Hello1010. 一元多项式求导 (25)时间限制400 ms内存限制32000 kB代码长度限制8000 B判题程序Standard设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例:3 4
8、 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 01011. A+B和C (15)时间限制50 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者HOU, Qiming给定区间-231, 231内的3个整数A、B和C,请判断A+B是否大于C。输入格式:输入第1行给出正整数T(C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。输入样例:41 2 32 3 42147483647 0 21474836460 -2147483648 -2147483647输出样例:Case #1: falseCase #2: trueCa
9、se #3: trueCase #4: false1012. 数字分类 (20)时间限制50 ms内存限制32000 kB代码长度限制8000 B判题程序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
10、的正整数N,随后给出N个不超过1000的待分类的正整数。数字间以空格分隔。输出格式:对给定的N个正整数,按题目要求计算A1A5并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。若其中某一类数字不存在,则在相应位置输出“N”。输入样例1:13 1 2 3 4 5 6 7 8 9 10 20 16 18输出样例1:30 11 2 9.7 9输入样例2:8 1 2 4 5 6 7 9 16输出样例2:N 11 2 N 91013. 数素数 (20)时间限制100 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue令Pi表示第i个素数。现任给两
11、个正整数M = N = 104,请输出PM到PN的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 1031014. 福尔摩斯的约会 (20)时间限制50 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE
12、2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母D,代表星期四;第2对相同的字符是E,那是第5个英文字母,代表一天里的第14个钟头(于是一天的0点到23点由数字0到9、以及大写字母A到N表示);后面两字符串第1对相同的英文字母s出现在第4个位置(从0开始计数)上,代表第4分钟。现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。输入格式:输入在4行中分别给出4个非空、不包含空格、且长度不超过60的字符串。输出格式:在
13、一行中输出约会的时间,格式为“DAY HH:MM”,其中“DAY”是某星期的3字符缩写,即MON表示星期一,TUE表示星期二,WED表示星期三,THU表示星期四,FRI表示星期五,SAT表示星期六,SUN表示星期日。题目输入保证每个测试存在唯一解。输入样例:3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm输出样例:THU 14:041015. 德才论 (25)时间限制200 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Li宋代史学家司马光在资治通鉴中有一段著名的“德才论”:“是故才德全尽谓
14、之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第1行给出3个正整数,分别为:N(=60),为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取;H(100),为优先录取线德分和才分均不低于此线的被定义为“才德全尽”,此类考生按德才总分从高到低排序;才分不到但德分到线的一类考生属于“德胜才”,也按总分排序,但排在第一类考生之后;德才分均低于H,但是德分不低于才分的考生属于“才德兼亡”但尚有“德胜才”者,按总分排序,但排在第二类考生之后;其他
15、达到最低线L的考生也按总分排序,但排在第三类考生之后。随后N行,每行给出一位考生的信息,包括:准考证号、德分、才分,其中准考证号为8位整数,德才分为区间0, 100内的整数。数字间以空格分隔。输出格式:输出第1行首先给出达到最低分数线的考生人数M,随后M行,每行按照输入格式输出一位考生的信息,考生按输入中说明的规则从高到低排序。当某类考生中有多人总分相同时,按其德分降序排列;若德分也并列,则按准考证号的升序输出。输入样例:14 60 8010000001 64 9010000002 90 6010000011 85 8010000003 85 8010000004 80 8510000005
16、82 7710000006 83 7610000007 90 7810000008 75 7910000009 59 9010000010 88 4510000012 80 10010000013 90 9910000014 66 60输出样例:1210000013 90 9910000012 80 10010000003 85 8010000011 85 8010000004 80 8510000007 90 7810000006 83 7610000005 82 7710000002 90 6010000014 66 6010000008 75 7910000001 64 901016.
17、部分A+B (15)时间限制100 ms内存限制32000 kB代码长度限制8000 B判题程序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 A, B 1010。输出格式:在一行中输出PA + PB的值。输入样例1:3862767 6 13530293 3输出样例1:399输入样例2:3862767 1 13
18、530293 8输出样例2:01017. A除以B (20)时间限制100 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入格式:输入在1行中依次给出A和B,中间以1空格分隔。输出格式:在1行中依次输出Q和R,中间以1空格分隔。输入样例:123456789050987654321 7输出样例:17636684150141093474 31018. 锤子剪刀布 (20)时间限制100 ms内存限制32000 kB
19、代码长度限制8000 B判题程序Standard作者CHEN, Yue大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第1行给出正整数N(=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。输出格式:输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分隔。第3行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有1个空
20、格。如果解不唯一,则输出按字母序最小的解。输入样例:10C JJ BC BB BB CC CC BJ BB CJ J输出样例:5 3 22 3 5B B1019. 数字黑洞 (20)时间限制100 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766 - 6677 = 1
21、089 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 = 10899810 - 0189 = 96219621 - 1269 = 83528
22、532 - 2358 = 6174输入样例2:2222输出样例2:2222 - 2222 = 00001020. 月饼 (25)时间限制100 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收
23、益策略应该是卖出全部15万吨第2种月饼、以及5万吨第3种月饼,获得 72 + 45/2 = 94.5(亿元)。输入格式:每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N表示月饼的种类数、以及不超过500(以万吨为单位)的正整数D表示市场最大需求量。随后一行给出N个正数表示每种月饼的库存量(以万吨为单位);最后一行给出N个正数表示每种月饼的总售价(以亿元为单位)。数字间以空格分隔。输出格式:对每组测试用例,在一行中输出最大收益,以亿元为单位并精确到小数点后2位。输入样例:3 2018 15 1075 72 45输出样例:94.501021. 个位数统计 (15)时间限制1
24、00 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一个k位整数N = dk-1*10k-1 + . + d1*101 + d0 (0=di0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入格式:每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出格式:对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。输入样例:100311输出样例:0:21:33:11022. D进制的A+B (20)时间限制100 m
25、s内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue输入两个非负10进制整数A和B(=230-1),输出A+B的D (1 D = 10)进制数。输入格式:输入在一行中依次给出3个整数A、B和D。输出格式:输出A+B的D进制数。输入样例:123 456 8输出样例:11031023. 组个最小数 (20)时间限制100 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CAO, Peng给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0
26、,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、数字9的个数。整数间用一个空格分隔。10个数字的总个数不超过50,且至少拥有1个非0的数字。输出格式:在一行中输出能够组成的最小的数。输入样例:2 2 0 0 0 3 0 0 1 0输出样例:100155581024. 科学计数法 (20)时间限制100 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者HOU, Qiming科学计数法是科学家用来
27、表示很大或很小的数字的一种方便的方法,其满足正则表达式+-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:-120000000001025. 反转链表 (25)时间限制300 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为123456,K为3,则输出应该为321654;如果K为4,则输出应该为432156,即最后不到K个元素不反转。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1