PAT Basic Level.docx

上传人:b****7 文档编号:9470720 上传时间:2023-02-04 格式:DOCX 页数:26 大小:23.98KB
下载 相关 举报
PAT Basic Level.docx_第1页
第1页 / 共26页
PAT Basic Level.docx_第2页
第2页 / 共26页
PAT Basic Level.docx_第3页
第3页 / 共26页
PAT Basic Level.docx_第4页
第4页 / 共26页
PAT Basic Level.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

PAT Basic Level.docx

《PAT Basic Level.docx》由会员分享,可在线阅读,更多相关《PAT Basic Level.docx(26页珍藏版)》请在冰豆网上搜索。

PAT Basic Level.docx

PATBasicLevel

1003.我要通过!

(20)

“答案正确”是自动判题系统给出的最令人欢喜的回复。

本题属于PAT的“答案正确”大派送——只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。

得到“答案正确”的条件是:

1.字符串中必须仅有P,A,T这三种字符,不可以包含其它字符;

2.任意形如xPATx的字符串都可以获得“答案正确”,其中x或者是空字符串,或者是仅由字母A组成的字符串;

3.如果aPbTc是正确的,那么aPbATca也是正确的,其中a,b,c均或者是空字符串,或者是仅由字母A组成的字符串。

现在就请你为PAT写一个自动裁判程序,判定哪些字符串是可以获得“答案正确”的。

输入格式:

每个测试输入包含1个测试用例。

第1行给出一个自然数n(<10),是需要检测的字符串个数。

接下来每个字符串占一行,字符串长度不超过100,且不包含空格。

输出格式:

每个字符串的检测结果占一行,如果该字符串可以获得“答案正确”,则输出YES,否则输出NO。

输入样例:

8

PAT

PAAT

AAPATAA

AAPAATAAAA

xPATx

PT

Whatever

APAAATAA

输出样例:

YES

YES

YES

YES

NO

NO

NO

NO

1005.继续(3n+1)猜想(25)

时间限制

400ms

内存限制

32000kB

代码长度限制

8000B

判题程序

Standard

作者

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不能被数列中的其他数字所覆盖。

现在给定一系列待验证的数字,我们只需要验证其中的几个关键数,就可以不必再重复验证余下的数字。

你的任务就是找出这些关键数字,并按从大到小的顺序输出它们。

输入格式:

每个测试输入包含1个测试用例,第1行给出一个正整数K(<100),第2行给出K个互不相同的待验证的正整数n(1

输出格式:

每个测试用例的输出占一行,按从大到小的顺序输出关键数字。

数字间用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个结点的地址、结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1