PTA团体程序设计天梯赛-练习集
文章平均质量分 81
习题
wmy0217_
2023天天开心(♡˙︶˙♡)
展开
-
L2-010 排座位 (25分) 并查集
布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 关系...原创 2020-03-27 21:24:44 · 846 阅读 · 0 评论 -
L2-022 重排链表 (25分)
给定一个单链表L1→L2→⋯→Ln-1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln-1→L2→⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤10^5)。结点的地址是5位非负整数,NULL地址用−1表示。接下来有N行,每行格式为:Address ...原创 2020-03-25 21:24:14 · 1586 阅读 · 0 评论 -
L2-005 集合相似度 (25分) set
给定两个整数集合,它们的相似度定义为:Nc/Nt×100%。其中Nc 是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。输入格式:输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤10^4),是集合中元素的个数;然后跟M个[0, 10 ^9]区间内的整数。之后一行给...原创 2020-03-18 22:14:36 · 1123 阅读 · 0 评论 -
L2-002 链表去重 (25分)
给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式:输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤10^5,为结点总数)。...原创 2020-03-18 21:13:45 · 1871 阅读 · 1 评论 -
L1-049 天梯赛座位分配 (20分)
天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 1 所学校的...原创 2020-03-15 18:05:33 · 817 阅读 · 0 评论 -
L1-064 估值一亿的AI核心代码 (20分)
以上图片来自新浪微博。本题要求你实现一个稍微更值钱一点的 AI 英文问答程序,规则是:无论用户说什么,首先把对方说的话在一行中原样打印出来;消除原文中多余空格:把相邻单词间的多个空格换成 1 个空格,把行首尾的空格全部删掉,把标点符号前面的空格删掉;把原文中所有大写英文字母变成小写,除了I;把原文中所有独立的 can you、could you 对应地换成 I can、I could...原创 2020-03-13 18:13:47 · 3318 阅读 · 3 评论 -
竖式问题(除法)(L1-046 整除光棍 (20分))
L1-046 整除光棍 (20分)这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不...原创 2020-02-23 12:47:09 · 376 阅读 · 0 评论 -
L1-006 连续因子 (20分)
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231 )。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子...原创 2020-02-22 16:52:35 · 391 阅读 · 1 评论 -
L1-059 敲笨钟 (20分)详解
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。现在给你一大堆古诗词句,...原创 2020-02-22 11:42:01 · 1096 阅读 · 0 评论 -
L1-039 古风排版 (20分)详解
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例:4This is a test case输出样例:asa Tst ihe...原创 2020-02-22 11:05:18 · 1411 阅读 · 0 评论 -
L1-020 帅到没朋友 (20分)
当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤100...原创 2020-02-20 11:40:24 · 260 阅读 · 0 评论 -
L1-002 打印沙漏 (20分)
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给...原创 2020-02-19 13:00:36 · 447 阅读 · 0 评论 -
L1-058 6翻了 (15分)
“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。输入格式:输入在一行中给出一句话,即一个非空字符串,由...原创 2020-02-17 12:58:37 · 717 阅读 · 0 评论 -
L1-054 福到了 (15分)
“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。输入格式:输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为 @ 或...原创 2020-02-17 12:44:09 · 249 阅读 · 0 评论 -
L1-050 倒数第N个字符串 (15分)
给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。输入格式:输入在一行中...原创 2020-02-14 22:26:59 · 588 阅读 · 1 评论 -
L1-016 查验身份证 (15分)
L1-016 查验身份证 (15分)一个合法的身份证号码由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...原创 2020-02-14 08:41:36 · 286 阅读 · 0 评论 -
L1-025 正整数A+B (15分)
L1-025 正整数A+B (15分)题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000] 。稍微有点麻烦的是,输入并不保证是两个正整数。输入格式:输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空...原创 2020-02-14 08:32:27 · 533 阅读 · 0 评论 -
2622: 小H的集合(二分法)
题目描述小Q发现小P和小H各有一个集合,但是小P的集合A和小H的集合B不一样,小P的集合A里有n个整数且无序,小H的集合B里有m个整数且有序,小Q有一个整数k,小Q想在集合A与集合B中找到一个整数使他们相加正好等于k。你能帮助小Q吗?输入第一行是三个整数n,m,k,分别表示集合A的大小、集合B的大小、k的值。(0<n<=100000,0<m<=100000,k在int...原创 2020-02-13 14:24:29 · 392 阅读 · 2 评论 -
2625: 小H的数列
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2625重点在于无论是求a[n],还是求sum,还是输出sum,这三部都需要取余…题目描述输入第一行输入整数T,表示T组测试样例 T<1000每一个测试样例输入一个n,0<=n<=1000输出每个测试样例输出一个数代表结果,每个测试样例占一行样例输入 Copy301...原创 2020-02-13 14:07:12 · 340 阅读 · 0 评论 -
L1-030 一帮一 (15分)两种方法解析
1、将几个字符串(例如名字)存入数组char a[15][10]代表可以存15个名字,每个名字的长度最多为10#include<iostream>using namespace std;int main(){ char a[10][15]; for(int i=0;i<5;i++) cin>>a[i]; for(int i=0;i<5;i+...原创 2020-02-11 10:24:02 · 445 阅读 · 2 评论 -
L1-003 个位数统计 (15分)三种方法解析
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805143738892288第一种方法:调用getchar()时,用户输入的字符被存放在键盘缓冲区中,直到用户输入回车(\n),getchar才开始从stdin流中每次读入一个字符#include<iostream>using namespa...原创 2020-02-10 12:51:03 · 1438 阅读 · 0 评论