天梯赛GPLT
Sun990o
记录成长过程,共勉!
展开
-
PAT--L2-026 小字辈-------广度优先搜索
题目描述:本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。输入格式:输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。输出格式:首先输出最小的辈分(老祖宗的辈分为 ...原创 2019-03-15 09:42:24 · 209 阅读 · 0 评论 -
PAT--L3-013 非常弹的球------物理
思路汇总:设速度为v,速度方向与水平轴夹角为a,水平速度为v1,竖直速度为v2,v1=vcos(a),v2=vsin(a)。上升到最高点,t=vsin(a)/g,水平距离为s=v1t=vcos(a)vsin(a)/g,加上下来,所以,s=v1t=2vcos(a)*vsin(a)/g=v^2sin(2a)/g,当a=45°的时候最大。s=v ^2 /g;题目描述:刚上高一的森森为了学好物理,...原创 2019-02-22 17:38:28 · 281 阅读 · 0 评论 -
PAT--L2-018 多项式A除以B
题目描述:这仍然是一道关于A/B的题,只不过A和B都换成了多项式。你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数。输入格式:输入分两行,每行给出一个非零多项式,先给出A,再给出B。每行的格式如下:N e[1] c[1] … e[N] c[N]其中N是该多项式非零项的个数,e[i]是第i个非零项的指数,c[i]是第i个非零项的系数。各项按照指数递减的顺序给出,保证所有指...原创 2019-02-21 21:18:59 · 557 阅读 · 0 评论 -
PAT--L2-023 图着色问题------图
题目描述:图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别是无向图的顶点数、边数、以及颜色数。...原创 2019-02-21 19:58:49 · 180 阅读 · 0 评论 -
PAT--L2-011玩转二叉树------由遍历序列恢复二叉树并反向输出
题目描述:给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分...原创 2019-02-21 19:58:02 · 474 阅读 · 0 评论 -
PAT--L2-009抢红包------排序
来总结一下:这个题主要考的是排序,直接自己自定义一个排序函数,用于sort即可。题目描述:没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。输入格式:输入第一行给出一个正整数N(≤10 4 ),即参与发红包和抢红包的总人数,则这些人从1到N编号。随后N行,第i行给出编号为i的人发红包的记录,格式如下:KN 1 P ...原创 2019-02-16 02:54:42 · 155 阅读 · 0 评论 -
PAT--L2-024部落------并查集(Union函数问题)
来总结一下:1)先来说一个好玩的现象啊并查集一个固定函数Union合并函数,之前我都是写void Union(int a,int b){ int faa=find(a); int fab=find(b); if(faa!=fab)father[fab]=faa;}这样写,其他没问题,只有测试点三超时。void Union(int a,int b){ ...原创 2019-02-16 01:25:15 · 303 阅读 · 1 评论 -
PAT--L2-010排座位------并查集
来总结一下:1)典型的并查集问题。2)既然既有朋友关系,又有敌对关系,将所有朋友关系的并入一个集合,有敌对关系的用二维数组着重标出。题目描述:布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参...原创 2019-02-15 23:55:26 · 266 阅读 · 1 评论 -
PAT--L2-007家庭房产------并查集
来总结一下:1)这个题是一个关于并查集的问题,即(1)合并两个集合。(2)判断两个元素是否在一个集合中。2)并查集类问题有两个固定函数,一个是find函数,查找他们的父亲节点(不一定非得是父亲,看你想让他们怎么排了),另一个就是Union函数,将两个元素合并到一个集合中去。3)一共两个结构体,一个结构体是用来存储输入的信息,另一个结构体用于输出需要输出的信息。4)刚才已经提到fathe...原创 2019-02-15 23:18:38 · 466 阅读 · 0 评论 -
PAT--L2-019 悄悄关注
题目描述:新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列表和其对其他用户的点赞情况,扒出有可能被其悄悄关注的人。输入格式:输入首先在第一行给出某用户的关注列表,格式如下:人数N 用户1 用户2 …… 用户N其中N是不超过5000的正整数,每个用户i(i=1, …, N...原创 2019-01-29 11:06:33 · 2284 阅读 · 0 评论 -
PAT--L2-017 人以群分
题目描述:社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。输入格式:输入第一行给出一个正整数N(2≤N≤10 5 )。随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。题目保证这些数...原创 2019-01-29 11:00:24 · 296 阅读 · 0 评论 -
L1-028 判断素数
题目描述:本题的目标很简单,就是判断一个给定的正整数是否素数。输入格式:输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231 的需要判断的正整数。输出格式:对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。输入样例:211111输出样例:YesNo代码如下:#include<iostream>#inc...原创 2019-01-16 18:29:48 · 569 阅读 · 0 评论 -
PAT--L2-020 功夫传人------DFS遍历(几个小坑)
这道题能够是2017年的天梯赛大区赛的题,确实有几个小坑存在。题目描述:一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。这里我们来考察某一位祖师爷门下...原创 2019-01-31 12:43:22 · 220 阅读 · 0 评论 -
L1-054 福到了
题目描述:“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。输入格式:输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或...原创 2019-01-19 14:47:22 · 197 阅读 · 0 评论 -
PAT--L3-003社交集群------并查集
题目描述:当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友。一个“社交集群”是指部分兴趣爱好相同的人的集合。你需要找出所有的社交集群。输入格式:输入在第一行给出一个正整数 N(≤1000),为社交网络平台注册的所有用户的人数。于是这些人从 1 到 N 编号。随后 N 行,每行按以下格式给出一个人的兴趣爱好列表:K i : h ...原创 2019-02-17 20:46:27 · 299 阅读 · 1 评论 -
PAT--L2-001 紧急救援------Dijkstra算法
题目描述:作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便...原创 2019-02-12 14:33:46 · 564 阅读 · 0 评论 -
PAT--L2-021点赞狂魔------排序
题目描述:微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。输入格式:输入在第一行给出一...原创 2019-02-18 10:56:46 · 396 阅读 · 0 评论 -
PAT--L3-015 球队“食物链”------深度优先遍历DFS
题目描述:某国的足球联赛中有N支参赛球队,编号从1至N。联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场。联赛战罢,结果已经尘埃落定。此时,联赛主席突发奇想,希望从中找出一条包含所有球队的“食物链”,来说明联赛的精彩程度。“食物链”为一个1至N的排列{ T 1 T 2 ⋯ T N },满足:球队T 1 战胜过球队T 2 ,球队T ...原创 2019-02-26 15:42:35 · 214 阅读 · 0 评论 -
PAT--L2-022 重排链表------链表
题目描述:给定一个单链表 L 1 →L 2 →⋯→L n−1 →L n ,请编写程序将链表重新排列为 L n →L 1 →L n−1 →L 2 →⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N ...原创 2019-02-20 10:43:54 · 265 阅读 · 0 评论 -
PAT乙级 1074 宇宙无敌加法器
题目描述:地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是 0(表示十进制)、或者是...原创 2019-02-19 23:26:21 · 130 阅读 · 0 评论 -
PAT--L2-013 红色警报------深度优先搜索DFS
题目描述:战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接...原创 2019-02-25 09:48:19 · 201 阅读 · 0 评论 -
PAT--L2-014列车调度------set容器
来总结一下:1)挺简单的一道题,难就难在,测试点二,三,四,五都是最大的数测试,数据量贼大,很容易就会发生运行超时,该题就是看能不能把这个问题极度的简化.2)第一个代码的思路就是:进来一辆车,这辆车的序号必须排在,所有有的道路中,比它的序号大的车辆后面,即每一条轨道中车辆必须有序,呈递增排列。进入之前,找到比它大的进入该轨道,否则开辟一个新的轨道。这样写的代码测试点一和测试点三运行超时,需...原创 2019-02-13 23:57:06 · 190 阅读 · 0 评论 -
PAT--L2-005集合相似度------set容器数组
先来总结一下:1)既然是考虑各个集合之间的相似度,所以每个集合中相同的数字就可以忽略,所以就可以设置一个set数组。2)在比较的时候只需要比较每两个set容器之间的相同和不同的,而且也可以忽略相同元素所导致的总数增加的问题。题目描述:给定两个整数集合,它们的相似度定义为:N c /N t ×100%。其中N c 是两个集合都有的不相等整数的个数,N t ...原创 2019-02-13 19:15:12 · 160 阅读 · 0 评论 -
PAT--L2-027名人堂与代金券------排序
题目描述:对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,总评成绩必须达到 60 分及以上,并且有另加福利:总评分在 [G, 100] 区间内者,可以得到 50 元 PAT 代金券;在 [60, G) 区间内者,可以得到 20 元PAT代金券。全国考点通用,一年有效。同时任课老师还会把总评成绩前 K 名的学生列入课...原创 2019-02-18 23:44:09 · 269 阅读 · 0 评论 -
PAT--L2-015互评成绩------排序
题目描述:学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。输入格式:输入第一行给出3个正整数N(3 &lt; N ≤10 4 ,学生总数)、k(3 ≤ k ≤ 10,每份作业的评审数)、M(≤ 20,需要输出的学生数)。随后N行...原创 2019-02-18 21:36:13 · 165 阅读 · 0 评论 -
PAT--L2-006树的遍历------由遍历序列恢复二叉树
来总结一下:1)由两种序列恢复二叉树,既可以链式存储,也可以顺序存储,为方便输出,一般都是采用顺序存储,所以在恢复过程中,直接采用顺序存储。2)记住最重要的一点,存储二叉树的数组要足够大,因为虽然结点不是特别的多,但是顺序存储特别浪费空间,否则会发生段错误。题目描述:给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出...原创 2019-02-13 11:46:40 · 262 阅读 · 0 评论 -
PAT--L2-008最长对称子串------动态规划
题目描述:对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symmetric?输出样例:11代码如下:#in...原创 2019-02-18 18:07:18 · 401 阅读 · 1 评论 -
PAT--L2-012 关于堆的判断------堆排序
题目描述:将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种:x is the root:x是根结点;x and y are siblings:x和y是兄弟结点;x is the parent of y:x是y的父结点;x is a child of y:x是y的一个子结点。输入格式:每组测试第1行包含2个正整数N(≤ 1000)和...原创 2019-02-23 19:36:06 · 297 阅读 · 0 评论 -
PAT--L2-003 月饼------贪心算法
题目描述:月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是...原创 2019-02-12 23:46:40 · 227 阅读 · 0 评论 -
PAT--L2-002 链表去重------链表(结构体、set容器)
题目描述:给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式: 输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤1...原创 2019-02-12 23:10:13 · 211 阅读 · 0 评论 -
L1-050 倒数第N个字符串(关于L的问题!!!)
题目描述:给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。输入格式:...原创 2019-01-19 11:17:45 · 309 阅读 · 0 评论 -
L1-048 矩阵A乘以B
题目描述:给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有R a 行、C a 列,B有R b 行、C b 列,则只有C a 与R b 相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且...原创 2019-01-18 18:41:51 · 403 阅读 · 0 评论 -
L1-003 个位数统计
题目描述:给定一个 k 位整数 N=d k−1 10 k−1 +⋯+d 1 10 1 +d 0 (0≤d i ≤9, i=0,⋯,k−1, d k−1 &amp;gt;0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:每个输入包含 1 个测试用例...原创 2019-01-12 10:30:48 · 179 阅读 · 0 评论 -
L1-049天梯赛座位分配
题目描述:天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 ...原创 2018-11-26 16:55:52 · 125 阅读 · 0 评论 -
L1-056 猜数字
题目描述:一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。输入格式:输入在第一行给出一个正整数N(≤104 )。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。输出格式:在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家...原创 2018-11-26 13:06:41 · 204 阅读 · 0 评论 -
L1-034 点赞
题目描述:微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。输入格式:输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F 1 ⋯F K ”...原创 2018-11-23 13:44:00 · 611 阅读 · 1 评论 -
L1-046 整除光棍
题目描述:这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出...原创 2018-11-24 17:07:04 · 1217 阅读 · 0 评论 -
L1-032 Left-pad
题目描述:根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是*****GPLT。N...原创 2018-11-23 11:16:50 · 708 阅读 · 0 评论 -
L1-027 出租
题目描述:下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。本题要求你编写一个程序,为任何一个电话号码生成这段代码 —...原创 2018-11-23 09:24:00 · 649 阅读 · 0 评论 -
L1-043 阅览室
题目描述:天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽...原创 2018-11-24 10:17:15 · 671 阅读 · 2 评论