PAT
文章平均质量分 78
浙大PAT题解
SEAN JIN
这个作者很懒,什么都没留下…
展开
-
【PAT甲级】排序散列集合专题
冒泡排序 for (int i = 0; i < n-1; i++) { for (int j = i; j < n; j++) { if (a[i] > a[j]) swap(a[i], a[j]); } }选择排序 for (int i = 0; i < n-1; i++) { int min = i; for (int j = i+1; j < n; j++) { if (a[min] > a[j]) min = j; }原创 2021-03-09 03:04:13 · 1149 阅读 · 0 评论 -
【PAT甲级】数学题和逻辑题专题
数学题PAT乙级 1003 我要通过! (20 分)PAT甲级 1093 Count PAT's (25 分) / PAT乙级 1040 有几个PAT (25分)PAT甲级 1104 Sum of Number Segments (20 分) / PAT乙级 1049 数列的片段和 (20分)PAT甲级 1049 Counting Ones (30 分) 数位dp逻辑题PAT甲级 1117 Eddington Number (25 分) / PAT乙级 1060 爱丁顿数 (25分)PAT乙级 1088 .原创 2021-02-26 18:45:52 · 571 阅读 · 0 评论 -
【PAT甲级】字符串处理及进制转换专题
插入:insert(pos, s) insert(it, s.begin(), s.end())删除:erase(it) erase(s.begin(), s.end()) = clear()截取:substr(pos, len)寻找子串:find(s)替换子串:replace(pos, len, s) replace(s.begin(), s.end(), s1)原创 2021-02-20 22:35:56 · 1176 阅读 · 0 评论 -
pat乙级题解目录
标号标题解法1001害死人不偿命的(3n+1)猜想模拟1002写出这个数字符串处理1003我要通过!数学题1004成绩排名查找元素1005继续(3n+1)猜想hash 散列原创 2021-02-05 20:21:59 · 371 阅读 · 0 评论 -
【PAT甲级】1096 Consecutive Factors (20)
Among all the factors of a positive integer N, there may exist several consecutive numbers. For example, 630 can be factored as 3×5×6×7, where 5, 6, and 7 are the three consecutive numbers. Now given any positive N, you are supposed to find the maximum num原创 2021-02-24 17:26:30 · 216 阅读 · 0 评论 -
【PAT甲级】1097 Deduplication on a Linked List (25 point(s))
Given a singly linked list LLL with integer keys, you are supposed to remove the nodes with duplicated absolute values of the keys. That is, for each value KKK, only the first node of which the value or absolute value of its key equals KKK will be kept. At原创 2021-02-09 17:10:02 · 163 阅读 · 0 评论 -
【PAT甲级】1074 Reversing Linked List (25 point(s))
Given a constant KKK and a singly linked list LLL, you are supposed to reverse the links of every KKK elements on LLL. For example, given L being 1→2→3→4→5→6, if K=3K=3K=3, then you must output 3→2→1→6→5→4; if K=4K=4K=4, you must output 4→3→2→1→5→6.Input原创 2021-02-09 17:01:08 · 164 阅读 · 0 评论 -
【PAT甲级】1059 Prime Factors (25 分)
Given any positive integer NNN, you are supposed to find all of its prime factors, and write them in the format N=p1k1×p2k2×⋯×pmkmN = p_1^{k_1} × p_2^{k_2} ×⋯×p_m^{k_m}N=p1k1×p2k2×⋯×pmkmInput Specification:Each input file contains one test case原创 2021-02-25 18:17:44 · 222 阅读 · 0 评论 -
【PAT甲级】1052 Linked List Sorting (25 point(s))
A linked list consists of a series of structures, which are not necessarily adjacent in memory. We assume that each structure contains an integer key and a Next pointer to the next structure. Now given a linked list, you are supposed to sort the structures原创 2021-02-09 16:50:22 · 170 阅读 · 0 评论 -
【PAT甲级】1032 Sharing (25 point(s))
To store English words, one method is to use linked lists and store a word letter by letter. To save some space, we may let the words share the same sublist if they share the same suffix. For example, loading and being are stored as showed in Figure 1.Fi原创 2021-02-09 16:37:43 · 156 阅读 · 0 评论 -
【PAT乙级】1079 延迟的回文数 (20分)
给定一个 k+1k+1k+1 位的正整数 N,写成 aka_kak⋯a1a_1a1 a0a_0a0 的形式,其中对所有 iii 有 0≤ai<100≤a_i<100≤ai<10 且 ak>0a_k>0ak>0。NNN 被称为一个回文数,当且仅当对所有 iii 有 ai=ak−ia_i=a_{k−i}ai=ak−i。零也被定义为一个回文数。非回文数也可以通过一系列操作变出回文数。首先将该数字逆转,再将逆转数与该数相加,如果原创 2020-05-08 22:37:46 · 197 阅读 · 0 评论 -
【PAT乙级】1059 C语言竞赛 (20分)
C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。1、排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!2、其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的 ID,你要给出这些参赛者应该获得的奖品。输入格式:输入第一行给出一个正整数 NNN(≤10...原创 2020-05-05 21:40:30 · 231 阅读 · 0 评论 -
【PAT乙级】1094 谷歌的招聘 (20分)
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。...原创 2020-04-24 20:22:34 · 284 阅读 · 0 评论 -
【PAT乙级】1093 字符串A+B (20分)
为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第 1 行给出不超过 10510^5105v的正整数 NNN,即参赛人数。随后 NNN 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式:在一行中给出总得分最高的学校的编...原创 2020-04-23 19:46:57 · 169 阅读 · 0 评论 -
【PAT乙级】1092 最好吃的月饼 (20分)
月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量,要求你从中找出销量冠军,认定为最好吃的月饼。输入格式:输入首先给出两个正整数 NNN(≤1000≤1000≤1000)和 MMM(≤100≤100≤100),分别为月饼的种类数(于是默认月饼种类从 1 到 N...原创 2020-04-24 22:25:52 · 169 阅读 · 0 评论 -
【PAT乙级】1091 N-自守数 (15分)
如果某个数 KKK 的平方乘以 NNN 以后,结果的末尾几位数等于 KKK,那么就称这个数为“NNN-自守数”。例如 3×922=253923×92^2=253923×922=25392,而 253922539225392 的末尾两位正好是 929292,所以 929292 是一个 333-自守数。本题就请你编写程序判断一个给定的数字是否关于某个 NNN 是 NNN-自守数。输入格式:...原创 2020-04-25 17:16:44 · 239 阅读 · 0 评论 -
【PAT乙级】 1081 检查密码 (15分)
本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。输入格式:输入第一行给出一个正整数 N(≤≤≤ 100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。输出格式:对每个用户的密码,在一行中输出系统反馈信息,分以下5种:...原创 2020-05-03 23:31:55 · 226 阅读 · 0 评论 -
【PAT乙级】1088 三人行 (20分)
子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超过 1...原创 2020-04-25 19:03:07 · 263 阅读 · 0 评论 -
【PAT乙级】1087 有多少不同的值 (20分)
当自然数 nnn 依次取 1、2、3、……、NNN 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋⌊n/2⌋+⌊n/3⌋+⌊n/5⌋⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋⌊x⌋⌊x⌋ 为取整函数,表示不超过 xxx 的最大自然数,即 xxx 的整数部分。)输入格式:输入给出一个正整数 NNN(2≤N≤1042≤N≤10^42≤N≤104)。输出格式:在一行...原创 2020-04-25 20:56:17 · 132 阅读 · 0 评论 -
【PAT乙级】1086 就不告诉你 (15分)
做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。输入格式:输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式:在一行中倒着输出 A 和 B 的乘积。输入样例:5 7输出样例:53解题思路:tototo_string()string()...原创 2020-04-25 19:40:43 · 547 阅读 · 0 评论 -
【PAT乙级】1083 是否存在相等的差 (20 分)
给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?输入格式:输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。输出格式:按照“差值 重复次数”的格...原创 2020-04-26 15:29:54 · 149 阅读 · 0 评论 -
【PAT乙级】1082 射击比赛 (20分)
本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。输入格式:输入在第一行中给出一个正整数 N(≤≤≤ 10 000)。随后 N 行,每行按下列格式给出:ID x y其中 ID 是运动员的编号(由 4 位数字组成);x 和 y 是其打出的弹洞的平面...原创 2020-04-26 16:28:46 · 367 阅读 · 0 评论 -
【PAT乙级】1078 字符串压缩与解压 (20分)
文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英文字母和空...原创 2020-05-07 19:00:53 · 231 阅读 · 0 评论 -
【PAT乙级】1077 互评成绩计算 (20分)
在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G1G_1G1;老师给这个组的评分记为 G2G_2G2。该组得分为 (G1+G2)/2(G_1+G_2)/2(G1+G2)/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助...原创 2020-05-07 16:07:43 · 243 阅读 · 0 评论 -
【PAT乙级】1076 Wifi密码 (15分)
下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1...原创 2020-04-25 22:20:31 · 511 阅读 · 1 评论 -
【PAT乙级】1075 链表元素分类 (25 分)
给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。输入格式:每个输入包含一个测试用例。每个测试用例第 1 行给出:第 1 个结点的地址;结点总个数,即正整数N (≤105≤10^5≤105);以及正整数K (≤103≤10^3≤10原创 2021-02-08 18:40:10 · 167 阅读 · 0 评论 -
【PAT乙级】1072 开学寄语 (20分)
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。输入格式:输入第一行给出两个正整数 N(≤≤≤ 1000)和 M(≤≤≤ 6),分别是学生人数和需...原创 2020-05-07 19:38:09 · 141 阅读 · 0 评论 -
【PAT乙级】1071 小赌怡情 (15分)
常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。输入格式:输入在第一行给出 2 个正整数 T 和 K(≤≤≤ 100),...原创 2020-05-03 23:40:03 · 219 阅读 · 0 评论 -
【PAT乙级】1070 结绳 (25分)
给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。给定 NNN 段绳子的长度,你需要找出它们能串成的绳子的最大长度。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 NNN (2≤N≤1042≤N≤10_...原创 2020-05-07 17:25:13 · 266 阅读 · 0 评论 -
【PAT乙级】1069 微博转发抽奖 (20分)
小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包。请你编写程序帮助他确定中奖名单。输入格式:输入第一行给出三个正整数 M(≤ 1000)、N 和 S,分别是转发的总量、小明决定的中奖间隔、以及第一位中奖者的序号(编号从 1 开始)。随后 M 行,顺序给出转发微博的网友的昵称(不超过 20 个字符、不包含空格回车的非空字符串)。注意:可...原创 2020-05-07 21:31:15 · 246 阅读 · 0 评论 -
【PAT乙级】1067 试密码 (20分)
当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。输入格式:输入在第一行给出一个密码(长度不超过 20 的、不包含空格、Tab、回车的非空字符串)和一个正整数 N($≤ $10),分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。输入保证至少有一次尝试。当读到一行只有单...原创 2020-05-05 19:18:48 · 154 阅读 · 0 评论 -
【PAT乙级】1066 图像过滤 (15分)
图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。输入格式:输入在第一行给出一幅图像的分辨率,即两个正整数 MMM 和 NNN(0<M,N≤5000<M,N≤5000<M,N≤500),另外是待过滤的灰度值区间端点 AAA 和 BBB(0≤A<B≤2550≤A<...原创 2020-04-26 17:13:16 · 191 阅读 · 0 评论 -
【PAT乙级】1065 单身狗 (25分)
“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数 N(≤≤≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤≤≤ 10 000),为参加派对的...原创 2020-05-06 15:32:14 · 225 阅读 · 0 评论 -
【PAT乙级】1064 朋友数 (20分)
如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式:输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 10410^4104 。输出格式:...原创 2020-05-03 23:43:18 · 201 阅读 · 0 评论 -
【PAT乙级】1063 计算谱半径 (20分)
在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 nnn 个复数空间的特征值 { a1+b1i,⋯,an+bnia_1+b_1i,⋯,a_n+b_nia1+b1i,⋯,an+bni },它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。输入格式:输入第一行给出正整数 NNN(≤≤≤ 10 000)是输入的特征值的个数。随后 N 行,每行给出 1 个特征值的实部和虚部,其间以空格分隔。注意:题目保原创 2020-08-13 21:09:46 · 199 阅读 · 0 评论 -
【PAT乙级】1062 最简分数 (20分)
一个分数一般写成两个整数相除的形式:N/MN/MN/M,其中 MMM 不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N1/M1N_1/M_1N1/M1 和 N2/M2N_2/M_2N2/M2,要求你按从小到大的顺序列出它们之间分母为 KKK 的最简分数。输入格式:输入在一行中按 N/MN/MN/M 的格式给出两个正分数,随后是一个正整数分母 KKK,其间以空格分隔。题目保证给出的所有整数都不超过 1000。输出格式:在一行中按 N/MN/MN/M原创 2021-02-08 18:58:08 · 174 阅读 · 0 评论 -
【PAT乙级】1061 判断题 (15分)
判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。输入格式:输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0 代表“非”,1 代表“是”。随后 N 行,每行给出一个学生的解答。数字间均以空格分隔。输出格式:按照输入的顺序输出每个...原创 2020-04-26 17:28:20 · 296 阅读 · 0 评论 -
【PAT乙级】1060 爱丁顿数 (25分)
英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” EEE ,即满足有 EEE 天骑车超过 EEE 英里的最大整数 EEE。据说爱丁顿自己的 EEE 等于87。现给定某人 NNN 天的骑车距离,请你算出对应的爱丁顿数 EEE(≤N≤N≤N)。输入格式:输入第一行给出一个正整数 NNN (≤105≤10^5≤105),即连续骑车的天数;第二行给出 NNN 个非负整数,代表每天的骑车距离。输出格式:在一行中给出 NNN 天的爱丁顿数。输入样例:106 7 6原创 2020-08-10 01:22:27 · 169 阅读 · 0 评论 -
【PAT乙级】1058 选择题 (20分)
批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。输入格式:输入在第一行给出两个正整数 NNN(≤≤≤ 1000)和 M(≤≤≤ 100),分别是学生人数和多选题的个数。随后 M 行,每行顺次给出一道题的满分值(不超过 5 的正整数)、选项个数(不少于 2 且不超过 5 的正整数)、正确选项个数(不超过选项个数的正整数)、所有正确选项。注意每题的选项从小写英文字母 a 开始顺次排列。各项间以 1 个空格分隔。最后 N 行,每行给出一个学生的答题情况,其每题答案格原创 2020-08-12 22:10:29 · 155 阅读 · 0 评论 -
【PAT乙级】1057 数零壹 (20分)
给定一串长度不超过 10510^5105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。输入格式:输入在...原创 2020-05-03 23:47:11 · 164 阅读 · 0 评论