天梯赛精选题
pta天梯赛刷题训练
初阳hacker
致力于成为学习狂魔的人,努力成为更厉害的程序员
展开
-
L2-2 病毒溯源 坑点
在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。输入在第一行中给出一个正整数 N(≤10^4),即病毒种类的总数。于是我们将所有病毒从 0 到 N−1 进行编号。现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。如果不不注意这两点,这题其实就是一个简单的dfs。原创 2024-04-18 17:27:31 · 140 阅读 · 0 评论 -
L2-3 完全二叉树的层序遍历
二叉树后序,dfs原创 2024-04-16 22:07:54 · 379 阅读 · 0 评论 -
L2-4 部落
我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?根据题意,我们不但需要统计总人数和部落个数,还需要查询两个人是否在同一部落中,这就需要我们为这些个体构建复杂的关系网,从而化繁为简。但是这种写法会很消耗时间,这个我们可以看成是一棵树,如果这棵树只有一条路径,也就是最极端的情况,所以就会出现不必要的搜索,于是我们可以进行。因为我们在遍历这颗树的时候,我们的根节点是我么自己定的,所以我们可以在每次find之后,让其余的节点都指向同一个头节点。原创 2024-03-29 17:58:07 · 204 阅读 · 0 评论 -
L2-3 图着色问题
顶点和颜色都从1到V编号。在图的信息给出之后,给出了一个正整数N(≤20),是待检查的颜色分配方案的个数。随后N行,每行顺次给出V个顶点的颜色(第i个数字表示第i个顶点的颜色),数字间以空格分隔。2.再用一个二维数组来计入对应颜色的节点,这里题目给出了颜色的顺序是1-v的,所以可以用二维数组的横向来代表每一种颜色二里面的值就是存放的节点,如果发现size() > 0了说明遇到相同的颜色了,就需要判断这两个节点是否有公共的边。1.根据题目的解析,我们不难发现,如果颜色的数量不等于k的话直接是No的。原创 2024-03-29 23:55:15 · 447 阅读 · 0 评论 -
L2-2 重排链表
我们的思路是,首先我们要将给出的各个随机的链表先组成一个正确的链表,二同样用来表示一个节点有三个值,本身的地址,所在节点的值,以及链接下一个节点的地址。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤10 5)。1→L2→⋯→Ln−1→Ln,请编写程序将链表重新排列为 Ln→L 1→L n−1→L 2→⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。Next是下一结点的地址。对每个测试用例,顺序输出重排后的结果链表,其上每个结点占一行,格式与输入相同。原创 2024-03-29 17:20:56 · 319 阅读 · 0 评论 -
L2-1 点赞狂魔
1⋯F K”,其中Name是不超过8个英文小写字母的非空用户名,1≤K≤1000,F i(i=1,⋯,K)是特性标签的编号,我们将所有特性标签从 1-10^7编号。3:统计不同标签数目出现的次数。从题目的要求我们不难得出,题目要求我们1:计算出不同标签数量的前三名。2:如果有并列的输出标签数目最少的一个。原创 2024-03-29 16:53:30 · 141 阅读 · 0 评论 -
L1-3 阅览室
当读者还书时,管理员输入书号并按下E键,程序结束计时。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效纪录。书号([1, 1000]内的整数) 键值(S或E) 发生时间(hh:mm,其中hh是[0,23]内的整数,mm是[0, 59]内整数)对每天的纪录,在一行中输出当天的读者借书次数和平均阅读时间(以分钟为单位的精确到个位的整数时间)。原创 2024-03-29 14:58:02 · 181 阅读 · 0 评论