PTA刷题
文章平均质量分 60
命运从未公平
三枚筹码足矣,所有,或者一无所有
展开
-
L2-048 寻宝图(PTA)
这段代码基本上实现了题目的要求:统计地图上的岛屿总数和有宝藏的岛屿数量。代码主体使用了宽度优先搜索(BFS)来探索每个岛屿,并且在探索的过程中检查岛屿上是否有宝藏。如果在探索特定岛屿的过程中遇到标记数值大于’1’的格子,则认为这个岛屿含有宝藏。给定一幅地图,其中有水域,有陆地。本题就请你统计一下,给定的地图上一共有多少岛屿,其中有多少是有宝藏的岛屿。随后 N 行,每行给出 M 位个位数,其中 0 表示水域,1 表示陆地,2-9 表示宝藏。在一行中输出 2 个整数,分别是岛屿的总数量和有宝藏的岛屿的数量。原创 2024-04-22 17:10:56 · 466 阅读 · 0 评论 -
L1-039 古风排版(PTA)
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。这段代码实现了一个将给定字符串按照古风排版输出的功能。按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。这样,就实现了将输入的字符串按照古风排版输出的功能。原创 2024-03-20 00:25:42 · 306 阅读 · 0 评论 -
L1-034 点赞(PTA)
微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。输入格式:输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F1 ⋯FK ”,其中1≤K≤10,Fi(i=1,⋯,K)是特性标签的编号,我们将所有特性标签从1到1000编号。数字间以空格分隔。输出格式:统计所有被点赞的博文中最原创 2024-03-19 17:25:34 · 375 阅读 · 0 评论 -
L1-032 Left-pad(PTA)
根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。就是在字符串前填充一些东西到一定的长度。如果长度不够,它会在字符串前面填充指定的字符,直至达到目标长度。)和一个字符,分别是填充结果字符串的长度和用于填充的字符,中间以1个空格分开。这段代码实现了一个简单的left-pad功能,即在给定字符串前填充指定字符到一定长度。原创 2024-03-19 16:46:26 · 482 阅读 · 0 评论 -
L1-027 出租(PTA)
其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推……这段代码的目的是将输入的11位电话号码转换成两个特定格式的数组:一个是。为输入的号码生成代码的前两行,其中arr中的数字必须按递减顺序给出。数组,包含电话号码中的唯一数字,按照从大到小的顺序排列。这段代码的目的是将一个11位的电话号码转换成两个数组:;数组中的每个元素表示电话号码中对应位置的数字在。原创 2024-03-19 16:22:27 · 513 阅读 · 0 评论 -
L1-023 输出GPLT(PTA)
这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。这段代码的目的是从输入的字符串中提取字符’G’, ‘P’, ‘L’, ‘T’(不区分大小写),并按照"G", “P”, “L”, "T"的顺序重复输出,直到所有这些字符都被输出完毕。这段代码通过一个简单的计数逻辑和循环结构实现了题目的要求,即不断按照"G", “P”, “L”, "T"的顺序输出字符,直到所有指定的字符都被输出完毕。原创 2024-03-19 00:43:00 · 346 阅读 · 0 评论 -
L2-042 老板的作息表(PTA)
第一个时间是开始时间,第二个是结束时间。并且任意两个给出的时间区间最多只在一个端点有重合,没有区间重叠的情况。这段代码通过读取一系列时间段,然后在这些时间段之间找出未被覆盖的时间段并输出。它首先对输入的时间段按照开始时间进行排序,然后通过遍历这个排序后的列表来检查并输出未覆盖的时间段。这段代码的目的是,给定一个时间段的列表,它会找出并打印出在这些时间段之间未覆盖的所有时间段。按照时间顺序列出时间表中没有出现的区间,每个区间占一行,格式与输入相同。输入第一行给出一个正整数 N,为作息表上列出的时间段的个数。原创 2024-03-18 01:03:09 · 770 阅读 · 0 评论 -
L1-092 进化论(PTA)
根据C是A与B的和还是乘积,或者都不是,程序分别输出相应的字符串:"Tu Dou"表示和,"Lv Yan"表示乘积,"zhe du shi sha ya!对每一行给出的三个数,如果 C 是 A×B,就在一行中输出 Lv Yan;具体逻辑是读取一系列的数字组合,然后判定这些数字组合是相加的结果还是相乘的结果,或者都不是。输入第一行给出一个正整数 N,随后 N 行,每行给出三个正整数 A、B 和 C。本题给定两个数字,以及用这两个数字计算的结果,要求你根据结果判断,这是吕严算出来的,还是土豆算出来的。原创 2024-03-18 00:21:40 · 397 阅读 · 0 评论 -
L1-087 机工士姆斯塔迪奥(PTA)
你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。,0≤Q≤1000),表示地图为 N 行 M 列大小以及选择的行/列数量。=0 表示 BOSS 选择的是一整行,T。原创 2024-03-18 00:11:58 · 534 阅读 · 0 评论 -
L1-020 帅到没朋友(PTA)
随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;注意:没有朋友的人可以是根本没安装“朋友圈”,也可以是只有自己一个人在朋友圈的人。这段代码的主要功能是处理和识别在给定的朋友圈数据中,哪些人是“帅到没有朋友”的。对于只有一个人的朋友圈,由于这样的人可能既有朋友圈又可能没有朋友,故不进行处理。的值决定是输出“无人帅到没有朋友”的信息,还是输出所有符合条件的ID。原创 2024-03-17 19:52:16 · 384 阅读 · 0 评论 -
L1-011 A-B(PTA)
通过两层循环,外层循环遍历字符串B的每个字符,内层循环遍历字符串A的每个字符,如果找到了匹配的字符,就将其从字符串A中删除。这个算法的时间复杂度是O(n*m),其中n和m分别是字符串A和B的长度,对于较长的字符串,可能会有性能瓶颈。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。这段代码实现了从字符串A中删除所有在字符串B中出现的字符的功能,使用了一个布尔数组来标记那些需要被删除的字符。,则该字符不在B中出现过,因此将其输出。原创 2024-03-17 15:26:13 · 427 阅读 · 0 评论 -
L1-009 N个数求和(PTA)
输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。得到),以及分子分母的适时约简来避免溢出的风险。最后,根据结果的不同情况,选择合适的格式进行输出。每一步都小心翼翼地处理了有理数的约分和通分,以确保最后的输出是最简形式。这涉及到了最大公约数(这段代码的目的是求解多个有理数之和,并将结果以最简分数形式输出。原创 2024-03-17 14:12:50 · 775 阅读 · 0 评论 -
L1-080 乘法口诀数列(PTA)
从 2 开始,因为 2×3=6,所以第 3 项是 6。时,后续的元素将不会再被加入数列中,因此生成的数列正好满足输出前n项的要求。最后的输出逻辑确保了输出格式的正确性,即数列元素之间以单个空格分隔,行首尾没有多余的空格。通过不断地计算当前元素和其后一个元素的乘积,并根据乘积的位数决定如何扩展数列,以此实现数列的生成。开始顺次进行,每次将当前数字与后面一个数字相乘,将结果贴在数列末尾。这段代码实现了一个基于乘法口诀生成的数列,并且按照要求输出数列的前n项。开始,通过乘法操作逐步扩展数列,直到达到所需的长度。原创 2024-03-17 12:54:41 · 595 阅读 · 0 评论 -
L1-095 分寝室(PTA)
代码的逻辑是先检查每一种可能的女生寝室分配数量(从1到n-1,因为至少要有一间是男生的寝室),看它是否能满足女生和男生分配规则,即人数能够整除寝室数,并且没有违反不允许单人住一间寝室的规定。然后,代码检查找出的有效分配方案之间的人数差异,并记录最小差异及对应的分配方案。:输出的方案对应女生都是 24/4=6 人间、男生都是 60/6=10 人间,人数差为 4。满足前三项要求的分配方案还有两种,即女生 6 间(都是 4 人间)、男生 4 间(都是 15 人间);、n,分别对应女生人数、男生人数、寝室数。原创 2024-03-10 13:17:01 · 523 阅读 · 0 评论 -
L1-096 谁管谁叫爹(PTA)
输入第一行给出一个正整数 N(≤100),为游戏的次数。以下 N 行,每行给出一对不超过 9 位数的正整数,对应 A 和 B 给出的原始数字。关键点在于理解如何判断一个数是否是另一个数的整数倍,以及当两个数都不是对方各位数字之和的整数倍时,如何根据两个原始数字的大小来决定胜负。《咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲,来源于东北酒桌上的助兴游戏。不妨设游戏中的两个人为 A 和 B。对每一轮游戏,在一行中给出赢得“爹”称号的玩家(A 或 B)。,表示游戏的总轮数。接着,根据题目中给定的规则,程序判断是。原创 2024-03-09 17:16:21 · 643 阅读 · 0 评论 -
L1-094 剪切粘贴(PTA)
接下来的 N 行,每行是两个数字和两个长度不大于 5 的不包含空格的非空字符串,前两个数字表示需要剪切的位置,后两个字符串表示插入位置前和后的字符串,用一个空格隔开。如果有多个可插入的位置,选择最靠近当前操作字符串开头的一个。输入第一行是一个长度小于等于 200 的字符串 S,表示原始字符串。请实现一个简单的具有剪切和粘贴功能的文本编辑工具。第二行是一个正整数 N (1≤N≤100),表示要进行的操作次数。输出一行,表示操作后的字符串。剪切的位置保证总是合法的。原创 2024-03-09 01:11:47 · 693 阅读 · 0 评论 -
L1-032 Left-pad(PTA)
根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。就是在字符串前填充一些东西到一定的长度。例如用 * 去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是******GPLT。)和一个字符,分别是填充结果字符串的长度和用于填充的字符,中间以1个空格分开。第二行给出原始的非空字符串,以回车结束。原创 2024-03-03 23:27:59 · 388 阅读 · 0 评论 -
L1-039 古风排版(PTA)
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。原创 2024-03-03 23:21:28 · 401 阅读 · 0 评论 -
L1-023 输出GPLT(PTA)
给定一个长度不超过10000的、仅由英文字母构成的字符串。这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。这段C++代码的作用是对输入的字符串按特定规则进行重排序,规则是按照"GPLT"这一顺序输出字符,对大小写不敏感,忽略除了G/P/L/T之外的所有字符,直到所有的G/P/L/T字符都输出完毕。输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。原创 2024-02-28 23:42:03 · 371 阅读 · 0 评论 -
L1-011 A-B(PTA)
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入在2行中先后给出字符串A和B。两字符串的长度都不超过10,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。在一行中打印出A−B的结果字符串。原创 2024-02-02 23:37:20 · 335 阅读 · 0 评论 -
L1-006 连续因子(PTA)
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入在一行中给出一个正整数 N(1<N<2首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。63035*6*7。原创 2024-02-02 23:27:48 · 420 阅读 · 0 评论 -
天梯赛的善良(PTA)
第一行输出所有参赛学生的最小能力值,以及具有这个能力值的学生人数。第二行输出所有参赛学生的最大能力值,以及具有这个能力值的学生人数。善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分。个等级(太疯狂了,这是假的),然后调查了每个参赛学生的编程能力。现在请你写个程序找出所有参赛学生的最小和最大能力值,给命题组作为出题的参考。),即参赛学生的总数。输入在第一行中给出一个正整数 N(≤2×10。的正整数,是参赛学生的能力值。原创 2024-02-01 23:50:54 · 402 阅读 · 0 评论 -
估值一亿的AI核心代码(PTA)
输入首先在第一行给出不超过 10 的正整数 N,随后 N 行,每行给出一句不超过 1000 个字符的、以回车结尾的用户的对话,对话为非空字符串,仅包括字母、数字、空格、可见的半角标点符号。把原文中所有独立的 can you、could you 对应地换成 I can、I could—— 这里“独立”是指被空格或标点符号分隔开的单词;消除原文中多余空格:把相邻单词间的多个空格换成 1 个空格,把行首尾的空格全部删掉,把标点符号前面的空格删掉;把原文中所有独立的 I 和 me 换成 you;原创 2024-01-22 23:32:02 · 465 阅读 · 0 评论