- 博客(222)
- 收藏
- 关注
原创 1046 划拳 (15 分)
没啥收获,比较水的一题。#include<iostream>using namespace std;//数据可以丢弃,边输入边统计int main(){ int n; int han_jia,hua_jia,han_yi,hua_yi; int sum_jia=0,sum_yi=0; cin>>n; for(int i=0;i<n;i++){ scanf("%d %d %d %d",&han_jia,&.
2021-04-02 18:42:49
365
原创 1045 快速排序 (25 分)
一个数满足左边的数比它小,右边的数比它大,那整个序列排序后,这个数在数列中的相对位置不变原始位置与归序后的位置不变的情况下,只需验证左右任意一边的数都小于或大于它即可。测试点2为无主元情况,输出0\n\n,题目未说明#include<iostream>#include<cstdio>#include<vector>#include<algorithm>using namespace std;const int maxn=100..
2021-04-01 13:27:23
394
原创 1044 火星数字
AC代码写的很乱,用了多层if-else。随手记录一下,懒得优化。低位为 0 时,在火星字中不输出,如,tam等于13而不是tam tret#include<iostream>#include<cstdio>#include<string>#include<cstring>using namespace std;string mars_low[13]={ "tret","jan","feb","mar","apr","may","
2021-03-31 17:12:43
867
原创 PAT乙级|C语言|1043 输出PATest (20分)
题目给定一个长度不超过10410^4104的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过10410^4104的、仅由英文字母构成的非空字符串。输出格式:在一行中按题目要求输出排序后的字符串。题目保证输出非空。输入样例:redlesPayBestPATTop
2020-06-02 08:31:33
304
原创 PAT乙级|C语言|1042 字符统计 (20分)
题目请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。输入样例:This is a simple TEST. There ARE numbers and other s
2020-06-01 08:26:43
769
原创 PAT乙级|C语言|1041 考试座位号 (15分)
题目每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成,座位从 1 到 N 编号。输
2020-05-31 10:15:33
534
原创 PAT乙级|C语言|1040 有几个PAT (25分)
题目字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T)。现给定字符串,问一共可以形成多少个 PAT?输入格式:输入只有一行,包含一个字符串,长度不超过10510^5105,只包含 P、A、T 三种字母。输出格式:在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。输入样例:APPAPT输出
2020-05-30 08:56:59
364
6
原创 PAT乙级|C语言|1039 到底买不买 (20分)
题目小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含了全部她想要的珠子,还多了8颗不需要的珠子;第2串不能买,因为没有黑色珠子,并且少了一颗红色的珠子。输入格式:每个输入包含
2020-05-29 08:37:32
207
原创 PAT乙级|C语言|1038 统计同成绩学生 (20分)
题目本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第 1 行给出不超过10510^5105的正整数 N,即学生总人数。随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔。最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔。输出格式:在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。输入样例:1060 75 90 55 75 99 82 90 75 503 75 90 8
2020-05-28 09:21:10
250
原创 PAT乙级|C语言|1037 在霍格沃茨找零钱 (20分)
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱 P 和他实付的钱 A,你的任务是写一个程序来计算他应该被找的零钱。输入格式:输入在 1 行中分别给出 P 和 A,格式为 Galleon.Sickle.Knut,其间用 1 个空格分隔。这里 Galleon 是 [0, 10710^7107] 区间内的整数,Sickle 是 [0, 17)
2020-05-27 10:32:27
254
原创 PAT乙级|C语言|1036 跟奥巴马一起编程 (15分)
题目美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格。输出格式:输出由给定字符 C 画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的 50%(四舍五入取整)。输入样例
2020-05-26 08:11:48
870
原创 PAT乙级|C语言|1035 插入与归并 (25分)
题目根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪种排序算法?输入格式:输入在第一行给出正整数 N (≤100);随后一行给出原始序列的 N 个整
2020-05-25 15:37:35
631
原创 PAT乙级|C语言|1034 有理数四则运算 (20分)
题目本题要求编写程序,计算 2 个有理数的和、差、积、商。输入格式:输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。输出格式:分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式 k a/b,...
2020-04-29 07:25:48
537
原创 PAT乙级|C语言|1033 旧键盘打字 (20分)
题目旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过10510^5105个字符的串。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _(代表空格)、,、.、-、+(代表...
2020-04-28 19:30:55
254
原创 PAT乙级|C语言|1032 挖掘机技术哪家强 (20分)
题目为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第 1 行给出不超过10510^5105的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式:在一行中给出总得分最高的学校的编号、及其总分...
2020-04-27 08:26:20
448
1
原创 PAT乙级|C语言|1031 查验身份证
题目一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现在给定...
2020-04-26 10:44:48
292
原创 PAT乙级|C语言|1030 完美数列 (25分)
题目给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数 N 和 p,其中 N(≤105)(≤10^5)(≤105)是输入的正整数的个数,p(≤109)(≤10^9)(≤109)是给定的参数。第二行给出 N 个正整数,每...
2020-04-25 10:55:33
341
原创 PAT乙级|C语言|1029 旧键盘 (20分)
题目旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。输出格式:按照发现顺序,在一...
2020-04-24 11:28:46
898
原创 PAT乙级|C语言|1028 人口普查 (20分)
题目某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。输入格式:输入在第一行给出正整数 N,取值在(0,10510^5105];随后 N 行,每行给出 1...
2020-04-23 09:48:17
245
原创 C语言|控制台小游戏|贪吃蛇
贪吃蛇效果演示:操作说明:W、S、A、D 控制 上 、下、左、右 方向,空格 暂停,按下任意键继续每吃掉一个食物长度加1,界面下方显示当前长度蛇头撞到自身或边界后显示 game over! 2秒(时间可更改),任意键退出由于上下字符间隔与左右字符间隔不一致,纵向移动时移动速度会超过横向移动速度。画面显示:游戏画面信息存入二维数组:数组下标映射游戏中位置坐标,数组元素的...
2020-04-22 17:04:31
701
2
原创 PAT乙级|C语言|1027 打印沙漏 (20分)
题目本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在...
2020-04-22 08:17:32
591
原创 PAT乙级|C语言|1026 程序运行时间 (15分)
题目要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调用 clock(),获得一个时钟...
2020-04-21 08:28:52
270
原创 PAT乙级2019年冬仿真卷(C语言)
PAT乙级冬仿真卷(C语言)解析十天前晚上看到PAT乙级考试的时间又延期了,就萌生了线上测试的想法。充值了十元大钱,进行了线上测试。测试结果说来惭愧,20分钟AC了前三道题,第四道题格式错误,乍一看没有发现格式上的问题,就开始做第五道题了。第五道题在最后两个测试点上卡到考试结束,在第五道题debug过程中顺便解决了第四道题的格式错误。由于测试点5是超时,需要改进算法,测试点6是答案错误,存...
2020-04-20 22:43:16
721
原创 PAT乙级|C语言|1025 反转链表 (25分)
题目给定一个常数 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 个结点的地址、结点总个数正整数 N (≤105)(≤10^...
2020-04-20 08:57:20
1252
4
原创 PAT乙级|C语言|1024 科学计数法 (20分)
题目科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。输入格式:每个输入包含 1 个测试用例,即一个以科学计数...
2020-04-19 15:35:42
306
原创 PAT乙级|C语言|1023 组个最小数 (20分)
题目给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格...
2020-04-09 09:03:40
175
原创 PAT乙级|C语言|1022 D进制的A+B (20分)
题目输入两个非负 10 进制整数 A 和 B (≤230−1)(≤2^{30}-1)(≤230−1),输出 A+B 的 D (1<D≤10)进制数。输入格式:输入在一行中依次给出 3 个整数 A、B 和 D。输出格式:输出 A+B 的 D 进制数。输入样例:123 456 8输出样例:1103AC代码题目效率要求不高,可用递归#include<stdio...
2020-04-08 10:47:10
339
原创 PAT乙级|C语言|1021 个位数统计 (15分)
题目编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。输出格式:对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。输入样例:100311输出样例:0:2...
2020-04-07 20:06:30
178
原创 PAT乙级|C语言|1020 月饼 (25分)
题目月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全...
2020-04-07 10:48:47
257
原创 PAT乙级|C语言|1019 数字黑洞 (20分)
题目给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 12...
2020-04-06 22:08:15
236
原创 PAT乙级|C语言|1018 锤子剪刀布 (20分)
题目大家应该都会玩“锤子剪刀布”的游戏。现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第 1 行给出正整数 N(≤10510^5105),即双方交锋的次数。随后 N 行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C 代表“锤子”、J 代表“剪刀”、B 代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中间有 1...
2020-04-05 19:36:58
171
原创 PAT乙级|C语言|1017 A除以B (20分)
题目本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。输入格式:输入在一行中依次给出 A 和 B,中间以 1 空格分隔。输出格式:在一行中依次输出 Q 和 R,中间以 1 空格分隔。输入样例:123456789050987654321 7输出样例:176366841501410934...
2020-04-04 14:06:08
285
原创 PAT乙级|C语言|1016 部分A+B (15分)
正整数A的“(为 1 位整数)部分”定义为由A中所有组成的新整数。例如:给定A=3862767,=6,则A的“6 部分”是 66,因为A中有 2 个 6。现给定A、、B、,请编写程序计算+。输入格式:输入在一行中依次给出A、、B、,中间以空格分隔,其中0<A,B<1010。输出格式:在一行中输出...
2020-04-03 10:54:35
165
原创 PAT乙级|C语言|1015 德才论 (25分)
题目宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤10510^5105),即考生总数;L(≥60),为录取最低分数线,即德分和...
2020-04-02 10:55:39
675
原创 PAT乙级|C语言|1014 福尔摩斯的约会 (20分)
题目大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字...
2020-04-01 09:20:08
260
原创 PAT乙级|C语言|1013 数素数 (20分)
题目令PiP_iPi表示第 i 个素数。现任给两个正整数M⩽N⩽104M{\leqslant}N\leqslant10^4M⩽N⩽104,请输出PMP_MPM到PNP_NPN的所有素数。输入格式:输入在一行中给出 M 和 N,其间以空格分隔。输出格式:输出从PMP_MPM到PNP_NPN的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:...
2020-03-31 18:07:06
198
原创 C语言|控制台小游戏|打飞机(基础功能版)
开飞机打飞机初学C语言总觉得不能做些什么好玩的,这个小游戏只需 “一点点” (千真万确)C语言知识就能完成!总计不到200行的非空白代码(没有强行压缩行数)操作说明:W、S、A、D 控制 上 、下、左、右 方向,空格 攻击每击中一架敌机增加1分,界面下方显示实时分数撞到敌机后显示 game over! 2.5秒(时间可更改)子弹连发移动的同时发射子弹飞机撞上敌机结束...
2020-03-30 20:01:23
11473
33
原创 PAT乙级|C语言|1012 数字分类 (20分)
题目给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1A_1A1= 能被 5 整除的数字中所有偶数的和;A2A_2A2=将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n3−n4n_1-n_2+n_3-n_4n1−n2+n3−n4……A3A_3A3=被 5 除后余 2 的数字的个数;A4A_4A4=被 5 除后余 3 的数字的...
2020-03-30 11:09:22
196
原创 PAT乙级|C语言|1011 A+B 和 C (15分)
题目给定区间[−231,231][-2^{31},2^{31}][−231,231]内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。输入格式:输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出 Case #X: true 如果 A+B>C...
2020-03-30 11:09:02
189
2
原创 PAT乙级|C语言|1010 一元多项式求导 (25分)
题目设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 ...
2020-03-29 08:34:09
276
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人