![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT
33749110
这个作者很懒,什么都没留下…
展开
-
PAT_B_1094 谷歌的招聘 (20 分)【测试点3,5】
本题要求你编程解决一个更通用的问题:从任一给定的长度为 L 的数字中,找出最早出现的 K 位连续数字所组成的素数。输入格式:输入在第一行给出 2 个正整数,分别是 L(不超过 1000 的正整数,为数字长度)和 K(小于 10 的正整数)。接下来一行给出一个长度为 L 的正整数 N。输出格式:在一行中输出 N 中最早出现的 K 位连续数字所组成的素数。如果这样的素数不存在,则输出 ...原创 2019-01-23 14:40:23 · 1583 阅读 · 1 评论 -
PAT_B_1085 PAT单位排行 (25 分)
解题点:1.用结构体来存储各个学校的三项成绩,参赛人员等全部信息。2.用map来存储 学校名称,与学校信息 的键值对3.将map中的信息存储自定义的数据结构数组中,用sort函数进行排序,最后输出;每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。输入格式:输入第一行给出一个正整数 N(≤105),即考生人数。随后 N 行,每行按下...原创 2019-01-20 21:23:55 · 162 阅读 · 0 评论 -
PAT_B_1073 多选题常见计分法 (20 分)
批改多选题是比较麻烦的事情,有很多不同的计分方法。有一种最常见的计分方法是:如果考生选择了部分正确选项,并且没有选择任何错误选项,则得到 50% 分数;如果考生选择了任何一个错误的选项,则不能得分。本题就请你写个程序帮助老师批改多选题,并且指出哪道题的哪个选项错的人最多。输入格式:输入在第一行给出两个正整数 N(≤1000)和 M(≤100),分别是学生人数和多选题的个数。随后 M 行,每...原创 2019-01-20 20:28:18 · 184 阅读 · 0 评论 -
PAT_B_1067 试密码 (20 分)【测试点2】
测试点2的用例,应该为直接输入#当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。输入格式:输入在第一行给出一个密码(长度不超过 20 的、不包含空格、Tab、回车的非空字符串)和一个正整数 N(≤ 10),分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。...原创 2019-01-20 18:06:05 · 891 阅读 · 0 评论 -
PAT_B_1059 C语言竞赛 (20 分)
思路:1.先打一个10000以内的素数表 2.使用map进行存储获奖者数据 3.通过 map的值调用进行查找排名,并输出结果。 C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。 1、排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶! 2、其他人将得到巧克...原创 2019-01-20 17:10:09 · 155 阅读 · 0 评论 -
PAT_B_1058 选择题 (20 分)
批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。输入格式:输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100),分别是学生人数和多选题的个数。随后 M 行,每行顺次给出一道题的满分值(不超过 5 的正整数)、选项个数(不少于 2 且不超过 5 的正整数)、正确选项个数(不超过选项个数的正整数)、所有正确选项。注意每题的选项从小写英文...原创 2019-01-20 16:05:37 · 279 阅读 · 0 评论 -
PAT_B_1084 外观数列 (20 分)【测试点4】
测试点4 - 运行时错误: 需要把结果输出数组设置很大,如果将用例设置为“9 40” 则 最后输出结果会达到7.3W+位。 外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, ...它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;...原创 2019-01-20 14:49:47 · 559 阅读 · 0 评论 -
PAT_B_1095 解码PAT准考证 (25 分)【测试点4.5超时问题】
拖拖拉拉的,终于刷完了basic的题目,接下来会更新一篇总结文,总结一下遇到的出错点以及学到的知识点。欢迎大家一起讨论。 PAT 准考证号由 4 部分组成:第 1 位是级别,即 T 代表顶级;A 代表甲级;B 代表乙级; 第 2~4 位是考场编号,范围从 101 到 999; 第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位; 最后 11~13 位是考生编号,范围...原创 2019-01-24 22:16:52 · 1459 阅读 · 0 评论 -
PAT_B_1080 MOOC期终成绩 (25 分)【超时】
原本运用的是对已保存的名字进行遍历来存储学生成绩信息,但结果产生超时。解决:运用map【映射】自定义键值对,可以直接找到所查找的键的值,减少了时间复杂度。对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满分100)。总评成绩的计算公式为...原创 2019-01-19 21:39:23 · 280 阅读 · 0 评论 -
PAT_B_1079 延迟的回文数 (20 分)【测试点4,6】
1000位的正整数,必须用大数据[字符数组]进行计算 测试点4,6都是用的大数进行计算,尤其是测试点6,数据要大于测试点4给定一个 k+1 位的正整数 N,写成 ak⋯a1a0 的形式,其中对所有 i 有 0≤ai<10 且 ak>0。N 被称为一个回文数,当且仅当对所有 i 有 ai=ak−i。零也被定义为一个回文数。非回文数...原创 2019-01-19 18:12:35 · 1152 阅读 · 4 评论 -
PAT_B_1090 危险品装箱 (25 分)【测试点3,4】
用数组,或者map<int,map<int,bool>>进行存储遍历,最后两个测试点总是出现受限或超时等问题。查询了多位大神的blog,采取了其中一种【叫我比卡丘】的博主所用方式,故此题代码仅作自己的注释该代码的时间复杂度为 mnlogk集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆...原创 2019-01-21 12:19:01 · 719 阅读 · 0 评论 -
PAT_B_1088 三人行 (20 分)【测试点4】
子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超...原创 2019-01-21 17:16:57 · 1213 阅读 · 1 评论 -
PAT_B_1048 数字加密 (20 分)
本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式:输入在一行中依次给出 A 和 B,均为不超过 10...原创 2019-01-16 12:46:15 · 142 阅读 · 0 评论 -
PAT_B_1075 链表元素分类 (25 分)【测试点3.4报错】【测试点5超时】
给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。输入格式:每个输入包含一个测试用例。每个测试用例第 1 行给出:第...原创 2019-01-23 13:52:31 · 639 阅读 · 0 评论 -
PAT_B_1035 插入与归并 (25 分)
根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该...原创 2019-01-23 11:50:20 · 160 阅读 · 0 评论 -
PAT_B_1074 宇宙无敌加法器 (20 分)【测试点2.4.6】
地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是 0(表示十进制)、或者是 [2,9]...原创 2019-01-22 20:50:43 · 477 阅读 · 0 评论 -
PAT_B_1089 狼人杀-简单版 (20 分)【逻辑思考难】
开始思考这道题的时候,走偏了路,想要先确认两个撒谎的人,但是这样的话,还需要确认众人身份,太过复杂。然后百度了很多大神们的解法,理解了之后,自己仿(chao)置(xie)了一个,并加上了自己的理解,代码如下。 以下文字摘自《灵机一动·好玩的数学》:“狼人杀”游戏分为狼人、好人两大阵营。在一局“狼人杀”游戏中,1 号玩家说:“2 号是狼人”,2 号玩家说:“3 号是好人”,3 号玩家说:...原创 2019-01-22 19:43:05 · 540 阅读 · 0 评论 -
PAT_B_1051 复数乘法 (15 分)【后两个测试点】
复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i2=−1;也可以写成极坐标下的指数形式 (R×e(Pi)),其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 (R(cos(P)+isin(P))。现给定两个复数的 R 和 P,要求输出两数乘积的常规形式。输入格式:输入在一行中依次给出两个复数的 R1, P...原创 2019-01-16 21:05:02 · 835 阅读 · 0 评论 -
PAT_B_1050 螺旋矩阵 (25 分)
本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。输入格式:输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数。所有数字不超过 104,相邻数字以空格分隔。输出格式:...原创 2019-01-16 20:02:51 · 193 阅读 · 0 评论 -
PAT_B_1049 数列的片段和 (20 分)【后两个测试点】
时间限制: 200 ms //时间限制说明了不能用三层for循环计算,所以需要找到逻辑关系对于第一个数有1*n个,第二个数有2*(n-1)个,以此类推。最后一个注意点 对于精确度需要注意,乘数时需要转double型保证。 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有 (0.1) (0....原创 2019-01-16 16:19:03 · 792 阅读 · 1 评论 -
PAT_B_1068 万绿丛中一点红 (20 分)
注意点:1.该元素是否唯一 2.该元素是否比周围元素相差TOL 3.输出的坐标是(列,行) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值。现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的颜色差充分大。输入格式:输入第一行给出三个正整数,分别是 M 和 N(≤ 1000...原创 2019-01-22 11:44:10 · 113 阅读 · 0 评论 -
PAT_B_1065 单身狗 (25 分)【测试点3】
“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 000),为参加派对的总人...原创 2019-01-22 09:43:31 · 1125 阅读 · 1 评论 -
PAT_B_1086 就不告诉你 (15 分)【测试点1.2】
测试点1、2出错处: 如果成绩为10000,则其 倒着输出结果应该是1,而不是00001 做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。输入格式:输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式:在一行中倒着输出 A 和 B 的乘积...原创 2019-01-19 16:17:11 · 1026 阅读 · 1 评论 -
PAT_B_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 个元素不反转。输入格式:每个输入包含...原创 2019-01-08 21:58:55 · 1803 阅读 · 5 评论 -
PAT_B_1062 最简分数 (20 分)【测试点1出错】
测试点1出错处:题中并没有说明先输入的分数一定比后输入的小!一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N1/M1 和 N2/M2,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数。输入格式:输入在一行中按 N/M 的格式给出两个正分数,随后是一个正整数分...原创 2019-01-18 17:36:36 · 537 阅读 · 0 评论 -
PAT_B_1007 素数对猜想 (20 分)【超时问题】
PS:刚开始写博客 ,格式掌握不好,希望见谅 让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格...原创 2019-01-01 21:07:21 · 533 阅读 · 0 评论 -
PAT_B_1028 人口普查 (20 分)【测试点3出错】
某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。输入格式:输入在第一行给出正整数 N,取值在(0,105];随后 N 行,每行给出 1 个人的...原创 2019-01-05 18:51:27 · 983 阅读 · 0 评论 -
PAT_B_1032 挖掘机技术哪家强 (20 分)【最后一个测试点超时】
为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第 1 行给出不超过 105 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式:在一行中给出总得分最高的学校的编号、及其总分,...原创 2019-01-10 21:21:31 · 949 阅读 · 0 评论 -
PAT_B_1027 打印沙漏 (20 分)【测试点0,3格式错误】【测试点2答案错误】
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:...原创 2019-01-05 17:07:49 · 1640 阅读 · 8 评论 -
PAT_B_1030 完美数列 (25 分)【测试点4超时】【测试点5报错】
给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数 N 和 p,其中 N(≤105)是输入的正整数的个数,p(≤109)是给定的参数。第二行给出 N 个正整数,每个数不超过 109。输出格式:...原创 2019-01-10 17:53:28 · 2218 阅读 · 1 评论 -
PAT_B_1024 科学计数法 (20 分)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。输入格式:每个输入包含 1 个测试用例,即一个以科学...原创 2019-01-04 18:02:45 · 132 阅读 · 0 评论 -
PAT_B_1022 D进制的A+B (20 分)【测试点2,4出错】
输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数。输入格式:输入在一行中依次给出 3 个整数 A、B 和 D。输出格式:输出 A+B 的 D 进制数。输入样例:123 456 8输出样例:1103#include <iostream>using namespace std...原创 2019-01-04 14:36:46 · 750 阅读 · 2 评论 -
PAT_B_1015 德才论 (25 分)【超时问题】
PS:本题需要运用到的知识有 sort 排序、数据结构、vector容器/动态数组建立 超时问题产生,在逻辑正确,部分答案正确的情况下,十有八九是因为C和C++输入输出的区别,C所需的时间少于C++宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不...原创 2019-01-04 13:49:00 · 777 阅读 · 0 评论 -
PAT_B_1019 数字黑洞 (20 分)【测试点2,3,4通不过】
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 12...原创 2019-01-03 21:11:53 · 2291 阅读 · 19 评论 -
PAT_B_1033 旧键盘打字 (20 分)【测试点2】
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 105 个字符的串。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _(代表空格)、,、.、-、+(代表上档键...原创 2019-01-11 10:59:44 · 1810 阅读 · 2 评论 -
PAT_B_1034 有理数四则运算 (20 分)
本题要求编写程序,计算 2 个有理数的和、差、积、商。输入格式:输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。输出格式:分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式 k a/b...原创 2019-01-11 15:15:40 · 144 阅读 · 0 评论 -
PAT_B_1010 一元多项式求导 (25 分)【测试点3通不过问题】
题目:设计函数求一元多项式的倒数。(注:x的n次方(n为整数)的一阶导数为n乘以x的n-1次方)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例:3 4...原创 2019-01-02 13:26:54 · 1827 阅读 · 3 评论 -
PAT_B_1045 快速排序 (25 分)【超时问题】【测试点2格式错误】
超时问题:本题的时间复杂度不能超过O(n). 如果用双层循环的话,会产生超时格式错误。。这个真没法说,就差一个回车,具体见代码。测试点2的用例 应该是没有一个主元答案格式应为 "0\n\n". 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的 N 个互不相同的正...原创 2019-01-13 22:01:31 · 958 阅读 · 0 评论 -
PAT_B_1044 火星数字 (20 分)
火星人是以 13 进制计数的:地球人的 0 被火星人称为 tret。 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。 火星人将进位以后的 12 个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jo...原创 2019-01-13 19:06:30 · 100 阅读 · 0 评论 -
PAT_B_1060 爱丁顿数 (25 分)
思路分析:将输入的那些公里数进行降序排序。有 e 天的公里数超过了 e 公里(即公里[e-1])英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。输入格式:输入第一行给出一个正整数 N (≤...原创 2019-01-18 15:08:22 · 180 阅读 · 0 评论