PTA团体天梯赛║L1-049 天梯赛座位分配
PTA 团体天梯赛║L1-049 天梯赛座位分配一、题目要求天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 1 所学校的队伍还没有分配座位,则需要安排他们的队员隔位就坐。本题就要求你编写程序,自动为各校生成队员的座位号,从 1 开始编号。
输入格式:输入在一行中给出参赛的高校数 N (不超过 100 的正整数);第二行给出 N 个不超过 10 的正整数,其中第 i 个数对应第 i 所高校的参赛队伍数,数字间以空格分隔。
输出格式:从第 1 所高校的第 1 支队伍开始,顺次输出队员的座位号。每队占一行,座位号间以 1 个空格分隔,行首尾不得有多余空格。另外,每所高校的第一行按“#X”输出该校的编号 X,从 1 开始。
输入样例:1233 4 2
输出样 ...
PTA团队天梯赛║L1-046 整除光棍
PTA 团队天梯赛║L1-046 整除光棍一、题目要求这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由 1 组成的数字,比如 1、11、111、1111 等。传说任何一个光棍都能被一个不以 5 结尾的奇数整除。比如,111111 就可以被 13 整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以 5 结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。
提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入 31,那么就输出 3584229390681 和 15,因为 31 乘以 3584229390681 的结果是 111111111111111,一共 15 个 1。
输入格式:输入在一行中给出一个不以 5 结尾的正奇数x(<1000)。
输出格式:在一行中输出相应的最小的s和n,其间以 1 个空格分隔。
输入样例:131
输出样例:13584229390681 15
二、解题思路模拟竖式除法的 ...
PTA团队天梯赛║L1-043 阅览室
PTA 团队天梯赛║L1-043 阅览室一、题目要求天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过 1000 的正整数。当管理员将 0 作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。
注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者借阅。
输入格式:输入在第一行给出一个正整数N(≤10),随后给出N天的纪录。每天的纪录由若干次借阅操作组成,每次操作占一行,格式为:
书号([1, 1000] 内的整数) 键值(S或E) 发生时间(hh:mm,其中hh是[0,23] 内的整数,mm是[0, 59] 内整数)
每一天的纪录保证按时间递增的顺序给出。
输出格式:对每天的纪录,在一行中输出当天的读者借书次数和平均阅读时间(以分钟为单位的精确到个位的整数时间)。
输入样例:123456789101 ...
PTA团队天梯赛║L1-039 古风排版
PTA 团队天梯赛║L1-039 古风排版一、题目要求中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。
输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过 1000 的非空字符串,以回车结束。
输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。
输入样例:124This is a test case
输出样例:1234asa Tst ihe tsi ce s
二、解题思路利用一个二维字符数组存放字符串比较容易操作与理解,输入行数后就可以根据字符串长度确定输出时的列数,然后从最后一列开始输入字符串的每一个字符,直至字符串结束。最后顺序输出二位字符数组即可。
三、代码1234567891011121314151617181920212223242526272829303132333435363738//v1.0 初始化字符数组#include <bits/stdc++.h>using namespace std;int main(){ strin ...
PTA团队天梯赛║L1-035 情人节
PTA 团队天梯赛║L1-035 情人节一、题目要求
以上是朋友圈中一奇葩贴:“2 月 14 情人节了,我决定造福大家。第 2 个赞和第 14 个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。
输入格式:输入按照点赞的先后顺序给出不知道多少个点赞的人名,每个人名占一行,为不超过 10 个英文字母的非空单词,以回车结束。一个英文句点.标志输入的结束,这个符号不算在点赞名单里。
输出格式:根据点赞情况在一行中输出结论:若存在第 2 个人 A 和第 14 个人 B,则输出“A and B are inviting you to dinner…”;若只有 A 没有 B,则输出“A is the only one for you…”;若连 A 都没有,则输出“Momo… No one is for you …”。
输入样例 1:12345678910111213141516GaoXZhMagiEinstQuarkLaoLaoFatMouseZhaShenfantacylatesumSenSenQuanQuanwhateverwhene ...
PTA团队天梯赛║L1-033 出生年
PTA 团队天梯赛║L1-033 出生年一、题目要求
以上是新浪微博中一奇葩贴:“我出生于 1988 年,直到 25 岁才遇到 4 个数字都不相同的年份。”也就是说,直到 2013 年才达到“4 个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。
输入格式:输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000] 之间,n可以是 2、或 3、或 4。注意不足 4 位的年份要在前面补零,例如公元 1 年被认为是 0001 年,有 2 个不同的数字 0 和 1。
输出格式:根据输入,输出x和能达到要求的年份。数字间以 1 个空格分隔,行首尾不得有多余空格。年份要按 4 位输出。注意:所谓“n个数字都不相同”是指不同的数字正好是n个。如“2013”被视为满足“4 位数字都不同”的条件,但不被视为满足 2 位或 3 位数字不同的条件。
输入样例 1:11988 4
输出样例 1:125 2013
输入样例 2:11 2
输出样例 2:10 0001
二、解题思路先将输入的整型转换为字符串,并在不足四 ...
PTA团队天梯赛║L1-032 Left-pad
PTA 团队天梯赛║L1-032 Left-pad一、题目要求根据新浪微博上的消息,有一位开发者不满 NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫 left-pad 的模块,就是这个模块把 javascript 里面的 React/Babel 干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用*去填充字符串GPLT,使之长度为 10,调用 left-pad 的结果就应该是******GPLT。Node 社区曾经对 left-pad 紧急发布了一个替代,被严重吐槽。下面就请你来实现一下这个模块。
输入格式:输入在第一行给出一个正整数N(≤104)和一个字符,分别是填充结果字符串的长度和用于填充的字符,中间以 1 个空格分开。第二行给出原始的非空字符串,以回车结束。
输出格式:在一行中输出结果字符串。
输入样例 1:1215 _I love GPLT
输出样例 1:1____I love GPLT
输入样例 2:124 *this is a sample for cut
输出样例 2:1cut
二、解题思路 ...
PTA团队天梯赛║L1-027 出租
PTA 团队天梯赛║L1-027 出租一、题目要求下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。
本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。
输入格式:输入在一行中给出一个由 11 位数字组成的手机号码。
输出格式:为输入的号码生成代码的前两行,其中arr中的数字必须按递减顺序给出。
输入样例:118013820100
输出样例:12int[] arr = new int[]{8,3,2,1,0};int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};
二、解题思路创建一个整型数组 a[10] 存放 0~9 在号码中出现的次数,写入字符串,将每一位上的字符转 ...
PTA团队天梯赛║L1-023 输出GPLT
PTA 团队天梯赛║L1-023 输出 GPLT一、题目要求给定一个长度不超过 10000 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。
输入格式:输入在一行中给出一个长度不超过 10000 的、仅由英文字母构成的非空字符串。
输出格式:在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:1pcTclnGloRgLrtLhgljkLhGFauPewSKgt
输出样例:1GPLTGPLTGLTGLGLL
二、解题思路先将输入的字符串全部转换为大写字母,然后对于 GPLT 四个字母计数,将每个字母出现的次数存放在 a[4] 中,然后按照顺序输出 GPLT ,每输出一个字母,该字母对应的计数减一,直到减为 0。
三、代码123456789101112131415161718192021222324252627282930313233343536373839#include ...
PTA团队天梯赛║L1-020 帅到没朋友
PTA 团队天梯赛║L1-020 帅到没朋友一、题目要求当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。
输入格式:输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数M(≤10000),为待查询的人数;随后一行中列出M个待查询的 ID,以空格分隔。
注意:没有朋友的人可以是根本没安装“朋友圈”,也可以是只有自己一个人在朋友圈的人。虽然有个别自恋狂会自己把自己反复加进朋友圈,但题目保证所有K超过 1 的朋友圈里都至少有 2 个不同的人。
输出格式:按输入的顺序输出那些帅到没朋友的人。ID 间用 1 个空格分隔,行的首尾不得有多余空格。如果没有人太帅,则输出No one is handsome。
注意:同一个人可以被查询多次,但只输出一次。
输入样例 1:12345633 11111 22222 555 ...