PAT (甲级 / 乙级)
刷到毕业!
业余算法学徒
这个作者很懒,什么都没留下…
展开
-
PAT乙级 ——螺旋矩阵
题目描述本题要求将给定的 N 个正整数按非递增的顺序,填入 “螺旋矩阵”。所谓 “螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m × n 等于 N;m ≥ n;且 m − n 取所有可能值中的最小值。输入格式第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数,所有数字不超过 104 ,相邻数字以空格分隔。输出格式输出螺旋矩阵。每行 n 个数字,共 m 行,相邻数字以 1 个空格分隔,行末不得有多原创 2021-03-21 14:55:29 · 218 阅读 · 0 评论 -
PAT乙级 ——数列的片段和
题目描述给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4)(0.2) (0.2, 0.3) (0.2, 0.3, 0.4)(0.3) (0.3, 0.4)(0.4)这 10 个片段。给定正整数数列,求出全部片段包含的所有的数之和。如本例中 10 个片段总和是 0.1 + 0.3 + 0.6 + 1.0原创 2021-03-10 16:06:52 · 124 阅读 · 0 评论 -
PAT乙级 ——小赌怡情
题目描述常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。输入格式输入在第一行给出 2 个正整数 T 和 K,分别是系统在初始状态下赠送给玩家的筹码数、以及需要处理的游戏次数。随后 K 行,每行对应一次游戏,顺序给出原创 2021-03-06 11:19:22 · 129 阅读 · 2 评论 -
PAT乙级 ——试密码
题目描述当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。输入格式输入在第一行给出一个密码和一个正整数 N,分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。当读到一行只有单个 # 字符时,输入结束,并且这一行不是用户的输入。输入保证至少有一次尝试。密码为长度不超过 20 的、不包含空格、Tab、回车的非空字符串输出格式对用户的每个输入,如果是正确的密码且尝试原创 2021-03-04 21:40:54 · 195 阅读 · 1 评论 -
PAT乙级 ——一元多项式求导
题目描述设计函数求一元多项式的导数。注:xn (n 为整数)的一阶导数为 nxn−1 。输入格式以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例3 4 -5 2 6 1 -2 0输出样例12 3 -10 1 6 0题解模拟:解题步骤:若第一项的指数为原创 2021-03-04 10:31:42 · 133 阅读 · 0 评论 -
PAT乙级 ——图像过滤
题目描述图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。输入格式第一行给出一幅图像的分辨率,即两个正整数 M 和 N,另外是待过滤的灰度值区间端点 A 和 B、以及指定的替换灰度值。随后 M 行,每行给出 N 个像素点的灰度值,其间以空格分隔。所有灰度值都在 [0, 255] 区间内。输出格式输出按要求过滤后的图像。即输出 M 行,每行 N 个像素灰度值,每个灰度值占 3 位(例如黑色原创 2021-03-04 09:21:59 · 144 阅读 · 0 评论 -
PAT乙级 ——数字加密
题目描述本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式输入在一行中依次给出 A 和 B,均为不超过 100 位的正整数,其间以空格分隔。输出格式在一行中输出加密后的结果。输入样例1234567原创 2021-02-24 15:18:36 · 103 阅读 · 0 评论 -
PAT乙级 ——就不告诉你
题目描述做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。输入格式输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式在一行中倒着输出 A 和 B 的乘积。输入样例5 7输出样例53题解一:解题思路:只要最后一位不是 0,前面的 0 就可以输出;常规情况:35 ——> 53;含前导 0:1200 ——> 21;中间有 0:100原创 2021-02-22 12:18:13 · 123 阅读 · 0 评论 -
PAT乙级 ——三人行
题目描述子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超过 1000 的正整数。输出格式在一行中首先输出甲的能力值,随后依次输出甲、乙、丙三人与你的原创 2021-02-22 11:49:57 · 103 阅读 · 0 评论 -
PAT乙级 ——艾丁顿数
题目描述英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E,据说爱丁顿自己的 E 等于87。现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤ N)。输入格式输入第一行给出一个正整数 N,即连续骑车的天数;第二行给出 N 个非负整数,代表每天的骑车距离。输出格式在一行中给出 N 天的爱丁顿数。输入样例106 7 6 9 3 10 8 2 7 8输出样例6数据范围N ≤ 105原创 2021-02-20 16:36:24 · 129 阅读 · 0 评论 -
PAT乙级 ——C语言竞赛
题目描述C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的 ID,你要给出这些参赛者应该获得的奖品。输入格式输入第一行给出一个正整数 N,是参赛者人数。随后 N 行给出最终排名,每行按排名顺序给出一位参赛者的 ID(4 位数字组成)。接下来给出一个正整数 K原创 2021-02-20 14:15:00 · 198 阅读 · 0 评论 -
PAT乙级 ——选择题
题目描述批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。输入格式输入在第一行给出两个正整数 N 和 M,分别是学生人数和多选题的个数。随后 M 行,每行顺次给出一道题的 满分值 选项个数 正确选项个数 所有正确选项。最后 N 行,每行给出一个学生的答题情况,其每题答案格式为 选中的选项个数 选项1 ……,按题目顺序给出。注意:题目保证学生的答题情况是合法的,即不存在选中的选项数超过实际选项数的情况。输出格式按照输入的顺序给出每个学生的得分,每个分数原创 2021-02-20 11:47:58 · 133 阅读 · 0 评论 -
PAT乙级 ——字符串A+B
题目描述给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。输入格式输入在两行中分别给出 A 和 B,均为长度不超过 106 的、由可见 ASCII 字符和空格组成的、由回车标识结束的非空字符串。输出格式在一行中输出题面要求的 A 和 B 的和。输入样例This is a sample testto show you_How it works输出样例This ampletowyu_Hrk题解:#incl原创 2021-02-19 17:00:19 · 96 阅读 · 0 评论 -
PAT乙级 ——N-自守数
题目描述如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为 “N-自守数”。例如 3 × 922 = 25392,而 25392 的末尾两位正好是 92,所以 92 是一个 3-自守数。本题就请你编写程序判断一个给定的数字是否关于某个 N 是 N-自守数。输入格式输入在第一行中给出正整数 M,随后一行给出 M 个待检测的、不超过 1000 的正整数。输出格式对每个需要检测的数字,如果它是 N-自守数就在一行中输出最小的 N 和 NK2 的值,以一个原创 2021-02-19 16:41:26 · 91 阅读 · 0 评论 -
PAT乙级 ——输出PATest
题目描述给定一个长度不超过 104 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。输入格式输入在一行中给出一个长度不超过 104 的、仅由英文字母构成的非空字符串。输出格式在一行中按题目要求输出排序后的字符串。题目保证输出非空。输入样例redlesPayBestPATTopT原创 2021-02-19 13:49:39 · 233 阅读 · 1 评论 -
PAT乙级 ——有几个PAT
题目描述字符串 APPAPT 中包含了两个单词 PAT,第一个 PAT 是第 2 位 P,第 4 位 A,第 6 位 T;第二个 PAT 是第 3 位 P,第 4 位 A,第 6 位 T。现给定字符串,问一共可以形成多少个 PAT?输入格式输入只有一行,包含一个字符串,长度不超过105 ,只包含 P、A、T 三种字母。输出格式在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。输入样例APPAPT输出样例2题解原创 2021-02-19 12:35:27 · 113 阅读 · 0 评论 -
PAT乙级 ——单身狗
题目描述“单身狗” 是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式输入第一行给出一个正整数 N,是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M,为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。输出格式首先第一行输出落单客人的总人数;随后第二行原创 2021-02-18 20:54:32 · 82 阅读 · 0 评论 -
PAT乙级 ——朋友数
题目描述如果两个整数各位数字的和是一样的,则被称为是 “朋友数”,而那个公共的和就是它们的 “朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 104 。输出格式首先第一行输出给定数字中不同的朋友证号的个数;随后一行按递增顺序输出这些朋友证号,数字间隔一个空格,原创 2021-02-18 18:03:42 · 133 阅读 · 0 评论 -
PAT乙级 ——计算谱半径
题目描述在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n 个复数空间的特征值 { a1+b1i, ⋯, an+bni },它们的模为实部与虚部的平方和的开方,而 “谱半径” 就是最大模。现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。输入格式输入第一行给出正整数 N,是输入的特征值的个数。随后 N 行,每行给出 1 个特征值的实部和虚部,其间以空格分隔。注意:题目保证实部和虚部均为绝对值不超过 1000 的整数。输出格式原创 2021-02-18 17:43:15 · 169 阅读 · 0 评论 -
PAT甲级 ——Shortest Distance
题目翻译一个环形高速公路上有 N 个出口,共有 M 次询问,每次询问你需要回答其中两个出口之间的最短距离是多少。输入格式第一行首先包含一个整数 N,接下来包含 N 个整数 D1, D2, …, DN,其中 Di 是第 i 个出口与第 i+1 个出口之间的距离,DN 是第 N 个出口与第 1 个出口之间的距离。第二行包含一个整数 M,表示询问次数。接下来 M 行,每行包含两个整数,表示询问两个出口之间的最短距离。输出格式共 M 行,每行输出一个查询的答案。数据范围3 ≤ N ≤ 105,原创 2021-02-05 10:26:42 · 126 阅读 · 0 评论 -
PAT甲级 ——Social Clusters
题目翻译在一些社交网络平台上注册账号时,平台总是会要求你填写自己的兴趣爱好,以便找到一些具有相同兴趣爱好的潜在朋友。社会集群是指一群有共同爱好的人。给定社交网络中所有人的兴趣爱好,请你找到所有社会群集。输入格式第一行包含一个正整数 N,表示社交网络的人数。所有人的编号为 1∼N。接下来 N 行,每行包含一个人的爱好信息,格式:Ki: hi[1] hi[2] … hi[Ki],Ki 表示爱好数量,hi[j] 表示第 j 个爱好的编号。输出格式第一行输出总集群数量。第二行按非递增顺序输出每个原创 2021-02-04 20:48:35 · 185 阅读 · 0 评论 -
PAT甲级 ——Birds in Forest
题目翻译一些科学家为森林中成千上万的鸟类拍照。假设所有出现在同一张照片中的鸟都属于同一棵树。请你帮助科学家计算森林中树木的最大数量,对于任何一对鸟类,请判断它们是否在同一棵树上。输入格式第一行包含整数 N 表示照片数量。接下来 N 行,每行描述一张照片,格式如下:K B1 B2 … BK,K 表示照片中的鸟的数量,Bi 是鸟的具体编号。保证所有照片中的鸟被连续编号为 1 到某个不超过 104 的整数。再一行包含整数 Q。接下来 Q 行,每行包含两个鸟的编号,表示一组询问。输出格式第一行原创 2021-01-31 16:47:50 · 101 阅读 · 0 评论 -
PAT乙级 ——危险品装箱
题目描述集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。输入格式输入第一行给出两个正整数:N (≤ 104 ) 是成对的不相容物品的对数;M (≤ 100) 是集装箱货品清单的单数。随后数据分两大块给出。第一块有 N 行,每行给出一对不相容的物品。第二块有 M 行,每行给出一箱货物的清单,格式如下:K G[1] G[原创 2021-01-22 11:44:25 · 89 阅读 · 1 评论 -
PAT乙级 ——狼人杀-简单版
题目描述“狼人杀”游戏分为狼人、好人两大阵营。在一局“狼人杀”游戏中:1 号玩家说:“2 号是狼人”;2 号玩家说:“3 号是好人”;3 号玩家说:“4 号是狼人”;4 号玩家说:“5 号是好人”;5 号玩家说:“4 号是好人”。已知这 5 名玩家中有 2 人扮演狼人角色,有 2 人说的不是实话,有且只有一只狼在说谎。扮演狼人角色的是哪两号玩家?本题是这个问题的升级版:已知 N 名玩家中有 2 人扮演狼人角色,有 2 人说的不是实话,有且只有一只狼在说谎。要求你找出扮演狼人角色的是哪原创 2021-01-21 20:41:28 · 178 阅读 · 0 评论 -
PAT乙级 ——解码PAT准考证
题目描述PAT 准考证号由 4 部分组成:第 1 位是级别,即 T 代表顶级;A 代表甲级;B 代表乙级;第 2~4 位是考场编号,范围从 101 到 999;第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位;最后 11~13 位是考生编号,范围从 000 到 999。现给定一系列考生的准考证号和他们的成绩,请你按照要求输出各种统计信息。输入格式输入首先在一行中给出两个正整数 N(≤ 104)和 M(≤ 100),分别为考生人数和统计要求的个数。接下来 N 行,每行给出一原创 2021-01-20 22:37:37 · 197 阅读 · 3 评论 -
PAT乙级 ——谷歌的招聘
题目描述2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。自然常数 e 是一个著名的超越数,前面若干位写出来是这样的:e = 2.71828182845904523536028747135266249775724709369995957496696762772原创 2021-01-19 22:51:33 · 65 阅读 · 0 评论 -
PAT甲级 ——Find Coins
题目翻译伊娃喜欢从整个宇宙中收集硬币。有一天,她去了一家宇宙购物中心购物,结账时可以使用各种硬币付款。但是,有一个特殊的付款要求:每张帐单,她只能使用恰好两个硬币来准确的支付消费金额。给定她拥有的所有硬币的面额,请你帮她确定对于给定的金额,她是否可以找到两个硬币来支付。输入格式第一行包含两个整数 N 和 M,分别表示硬币数量以及需要支付的金额。第二行包含 N 个整数,表示每个硬币的面额。输出格式输出一行,包含两个整数 V1 和 V2,表示所选两个硬币的面额 , 使得 V1原创 2021-01-19 18:40:35 · 92 阅读 · 0 评论 -
PAT乙级 ——继续(3n+1)猜想
题目描述卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数列中的某个数 n 为“关键数”,如果 n 不能被数列中原创 2021-01-18 21:09:29 · 91 阅读 · 0 评论 -
PAT乙级 ——我要通过!
题目描述“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T 这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、 b、 c 均或者是空字符串,或者是仅由原创 2021-01-18 18:53:52 · 69 阅读 · 0 评论 -
PAT乙级 ——外观数列
题目描述外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, …它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111。又比如第 4 项是 d113,其描述就是 1 个 d,2 个 1,1 个 3,所以下一项就是 d11231。当然这个定义对 d = 1 也原创 2021-01-03 14:10:51 · 106 阅读 · 0 评论 -
PAT乙级 —— 互评成绩计算
题目描述在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G1 ;老师给这个组的评分记为 G2,该组得分为 (G1 + G2) / 2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助老师计算每个组的互评成绩。输入格式输入第一行给出两个正整数 N(> 3)和 M,分别是分组数和满分,均不超过 10原创 2020-12-17 15:53:44 · 204 阅读 · 0 评论 -
PAT乙级 ——Wifi密码
题目描述下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了……本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1 个正确答案。输入格式输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行按照原创 2020-12-17 14:47:15 · 192 阅读 · 0 评论 -
PAT乙级 ——查验身份证
题目描述一个合法的身份证号码由 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-12-13 16:34:29 · 161 阅读 · 0 评论 -
PAT乙级 ——人口普查
题目描述某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。输入格式输入在第一行给出正整数 N,取值在(0, 105 ];随后 N 行,每行给出 1 个人的姓名(不超过 5 个英文字母)、以及按 yyyy/mm/dd(即年/月/日)格式给出的生日。题目保证原创 2020-12-13 11:25:03 · 77 阅读 · 0 评论 -
PAT乙级 ——打印沙漏
题目描述本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号,各行符号中心对齐,相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增,首尾符号数相等。给定任意 N 个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式输入在一行给出1个正整数 N(≤1000)和一个符号,中间以空格分隔。输出格式首先打印出由给定符号组成的最原创 2020-12-12 15:43:03 · 89 阅读 · 0 评论 -
PAT乙级 ——旧键盘
题目描述旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。输出格式按照发现顺序,在一行中输出坏掉的键,其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏键。输入样例7_原创 2020-12-11 19:20:03 · 102 阅读 · 5 评论 -
PAT乙级 ——射击比赛
题目描述本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标 (x, y),请你编写程序找出冠军和菜鸟,我们假设靶心在原点 (0, 0)。输入格式输入在第一行中给出一个正整数 N(≤ 10 000)。随后 N 行,每行按下列格式给出:ID x y其中 ID 是运动员的编号(由 4 位数字组成);x 和 y 是其打出的弹洞的平面坐标 (x, y),均为整数,且 0 ≤ |x|, |y| ≤ 100。题目保证每个运动员的编号不原创 2020-12-05 15:59:35 · 141 阅读 · 0 评论 -
PAT乙级 —— 是否存在相等的差
题目描述给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?输入格式输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。输出格式按照 差值 重复次数 的格式从大到小输出重复的差值及其重复的次数,每行输出一个结果。输入样例83 5 8 6 2 1 4原创 2020-12-05 15:42:13 · 79 阅读 · 0 评论 -
PAT乙级 ——开学寄语
题目描述上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。输入格式输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需要被查缴的物品种类数。第二行给出 M 个需要被查缴的物品编号,其中编号为 4 位数字。随后 N 行,每行给出一位原创 2020-12-03 23:08:38 · 92 阅读 · 0 评论 -
PAT乙级 ——字符串压缩与解压
题目描述文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示,例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出,例如 aba 压缩后仍然是 aba;解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英文字母和空格组成的非空字符串。输入格式输入第一行给出一个字符,如果是 C 就表示下面的字符串需要被 压缩原创 2020-12-01 17:39:59 · 98 阅读 · 0 评论