![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
HBU训练营&&天梯赛
。。。。。
白鹿贞松
宁鸣而死,不默而生
展开
-
天梯赛——7-48 最大公约数 (20 分)
给出整数a,b,m,n,p,且a和b互质,a>b,求am-bm和an-bn的最大公约数模p的结果。输入格式:输入在一行中包含5个32位无符号整数a,b,m,n和p,且p>1。输出格式:输出在一行中给出计算结果。输入样例1:8 7 5 4 100输出样例1:1输入样例2:11 5 6 3 20输出样例2:6思路k=gcd(m,n)gcd(am-bm,an-bn)=ak-bk原理链接重点后四行代码#include<bits/stdc++.h>原创 2022-04-18 21:12:11 · 395 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L3-011 直捣黄龙 (30 分)
本题是一部战争大片 —— 你需要从己方大本营出发,一路攻城略地杀到敌方大本营。首先时间就是生命,所以你必须选择合适的路径,以最快的速度占领敌方大本营。当这样的路径不唯一时,要求选择可以沿途解放最多城镇的路径。若这样的路径也不唯一,则选择可以有效杀伤最多敌军的路径。输入格式:输入第一行给出 2 个正整数 N(2 ≤ N ≤ 200,城镇总数)和 K(城镇间道路条数),以及己方大本营和敌方大本营的代号。随后 N-1 行,每行给出除了己方大本营外的一个城镇的代号和驻守的敌军数量,其间以空格分隔。再后面有 K原创 2022-04-17 21:02:32 · 319 阅读 · 0 评论 -
7-10 括号匹配 (10 分)
请编写程序判断一个包含“(”和“)”的括号序列是否匹配。如匹配则输出Match;如不匹配,计算出使该序列变为匹配序列所需添加的最少括号数目(只允许在该序列开始和结尾处添加括号),并输出经添加最少括号后得到的合法匹配序列。输入格式:输入为若干行,每行一个字符串,包含不超过105个括号。输入行数不超过10行。输出格式:对于输入的每个括号序列输出1行或2行信息。若输入的括号序列匹配,则输出Match。若不匹配,则输出分为2行,第1行为一个整数,表示将该序列变为匹配序列所需添加的最少括号数目,第2行为一个字原创 2022-04-10 18:21:15 · 557 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——7-1 地铁一日游 (30 分)
森森喜欢坐地铁。这个假期,他终于来到了传说中的地铁之城——魔都,打算好好过一把坐地铁的瘾!魔都地铁的计价规则是:起步价 2 元,出发站与到达站的最短距离(即计费距离)每 K 公里增加 1 元车费。例如取 K = 10,动安寺站离魔都绿桥站为 40 公里,则车费为 2 + 4 = 6 元。为了获得最大的满足感,森森决定用以下的方式坐地铁:在某一站上车(不妨设为地铁站 A),则对于所有车费相同的到达站,森森只会在计费距离最远的站或线路末端站点出站,然后用森森美图 App 在站点外拍一张认证照,再按同样的方原创 2022-03-31 22:25:44 · 489 阅读 · 0 评论 -
3.17天梯选拔题目集回顾——7-13 挑苹果 (35 分)
妈妈买了N个苹果,每个苹果都有对应的美味度。为了公平,妈妈规定小红和小明需要轮流从剩余的苹果中选择最左边的苹果或者最右边的苹果吃,小红先选。小明和小红想要自己吃到苹果的美味度的总和尽可能大,假如小红和小明足够聪明,每次都用最优的策略选择苹果,现在需要你求出小红吃到苹果的美味度的总和。输入格式:第一行输入一个正整数N(1≤N≤100)第二行输入N个正整数,表示从左到右苹果的美味度输出格式:输出一个数,表示小红能吃到的苹果的美味度的总和。输入样例1:43 0 20 9输出样例1:23原创 2022-03-29 21:28:57 · 183 阅读 · 0 评论 -
7-12 风雪火车站 (25 分)
B国共有 n 座城市,分别编号为 1,2,…,n。你所在地点的编号是 s ,火车站的编号是 t。有 m 条道路连接这些城市,它们的长度分别为 wiw_iwi。为了便于绘制地图,B国的道路规划保证每条道路严格地连接两个不同的地点,并且不会有两条道路连接的两个地点相同。 你的走路速度是 1m/s。开始时,地点 i 的积雪深度为 hih_ihi。每秒钟地面上积雪的厚度会增加 q 。每个地点都有一个步行的极限雪深 lil_ili,如果到达此地时此地的雪深 ,你会被困在这个点,无法继续前进。不考虑起始原创 2022-03-21 13:57:40 · 242 阅读 · 0 评论 -
7-9 与零交换 (25 分)
将 { 0, 1, 2, …, N-1 } 的任意一个排列进行排序并不困难,这里加一点难度,要求你只能通过一系列的 Swap(0, *) —— 即将一个数字与 0 交换 —— 的操作,将初始序列增序排列。例如对于初始序列 { 4, 0, 2, 1, 3 },我们可以通过下列操作完成排序:Swap(0, 1) ⟹ { 4, 1, 2, 0, 3 }Swap(0, 3) ⟹ { 4, 1, 2, 3, 0 }Swap(0, 4) ⟹ { 0, 1, 2, 3, 4 }本题要求你找出将前 N 个非负整数的原创 2022-03-19 14:54:56 · 125 阅读 · 0 评论 -
2022寒假训练 年前测试——L3-1 字符串转换 (30 分)
小明最近在玩一个字符串游戏。根据游戏规则,系统会给小明分配两个长度相同的由小写英文字母组成的字符串S与T, 之后小明可以操作任意次字符串S或T.每一次操作,小明都可以把字符串中的一个字母Ai_ii转换成Bi_ii , 并且花费Wi_ii的时间。他知道你是个经验丰富的程序员,现在他希望你能编写一个程序去帮助他找到一种使字符串S与T相同的操作,花费时间最短。输入格式:第一行包括两个初始的非空字符串S与T, 长度不超过105且两个字符串长度相同.第二行包括一个正整数m(1≤m≤500), 表示可以发生原创 2022-01-29 13:27:20 · 177 阅读 · 0 评论 -
2022寒假训练 年前测试——L1-7 等级排序 (20 分)
小A是一个游戏爱好者,他对游戏里的等级有着奇怪的执念。现在他知道游戏服务器里的玩家编号与等级(游戏的等级上限是100),他想要你根据等级从小到大输出玩家编号。输入格式:输入共三行。第一行输入一个正整数N(N≤3×106)第二行输入N个正整数a1_11,a2_22,…,aN_NN, 其中ai_ii(ai_ii≤109)表示第i个玩家的编号第三行输入N个正整数b1_11,b2_22,…,bN_NN, 其中bi_ii(1≤bi_ii≤100)表示第i个玩家的等级数据保证没有两个玩原创 2022-01-29 12:28:07 · 86 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L3-029 还原文件 (30 分)
一份重要文件被撕成两半,其中一半还被送进了碎纸机。我们将碎纸机里找到的纸条进行编号,如图 1 所示。然后根据断口的折线形状跟没有切碎的半张纸进行匹配,最后还原成图 2 的样子。要求你输出还原后纸条的正确拼接顺序。图1 纸条编号图2 还原结果输入格式:输入首先在第一行中给出一个正整数 N(1<N≤105),为没有切碎的半张纸上断口折线角点的个数;随后一行给出从左到右 N 个折线角点的高度值(均为不超过 100 的非负整数)。随后一行给出一个正整数 M(≤100),为碎纸机里的纸条数量。接下原创 2022-01-28 11:23:34 · 294 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L2-038 病毒溯源 (25 分)
病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。输入格式:输入在第一行中给出一个正整数 N(≤104),即病毒种类的总数。于是我们将所有病毒从 0 到 N−1 进行编号。随后 N 行,每行按以下格式描述一种病毒的变异情况:.原创 2022-01-28 10:58:31 · 160 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L2-011 玩转二叉树 (25 分)
给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:71 2 3 4 5 6 74 1 3 2 6 5 7输出样例:4 6 1原创 2022-01-27 22:25:34 · 108 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L2-004 这是二叉搜索树吗? (25 分)
对于二叉搜索树,我们规定任一结点的左子树仅包含严格小于该结点的键值,而其右子树包含大于或等于该结点的键值。如果我们交换每个节点的左子树和右子树,得到的树叫做镜像二叉搜索树。现在我们给出一个整数键值序列,请编写程序判断该序列是否为某棵二叉搜索树或某镜像二叉搜索树的前序遍历序列,如果是,则输出对应二叉树的后序遍历序列。输入格式:输入的第一行包含一个正整数N(≤1000),第二行包含N个整数,为给出的整数键值序列,数字间以空格分隔。输出格式:输出的第一行首先给出判断结果,如果输入的序列是某棵二叉搜索树或原创 2020-12-19 16:06:44 · 461 阅读 · 3 评论 -
团体程序设计天梯赛-练习集——L2-005 集合相似度 (25 分)
给定两个整数集合,它们的相似度定义为:Nc_cc/Nt_tt×100%。其中NKaTeX parse error: Expected group after '_' at position 1: _̲c是两个集合都有的不相等整数的个数,Nt_tt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。输入格式:输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤104),是集合中元素的个数;然后跟M个[0,10原创 2022-01-27 15:44:07 · 87 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L2-039 清点代码库
上图转自新浪微博:“阿里代码库有几亿行代码,但其中有很多功能重复的代码,比如单单快排就被重写了几百遍。请设计一个程序,能够将代码库中所有功能重复的代码找出。各位大佬有啥想法,我当时就懵了,然后就挂了。。。”这里我们把问题简化一下:首先假设两个功能模块如果接受同样的输入,总是给出同样的输出,则它们就是功能重复的;其次我们把每个模块的输出都简化为一个整数(在 int 范围内)。于是我们可以设计一系列输入,检查所有功能模块的对应输出,从而查出功能重复的代码。你的任务就是设计并实现这个简化问题的解决方案。输入.原创 2022-01-26 23:00:36 · 116 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L2-037 包装机 (25 分)
一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品,放到流水线上。图 2 显示了顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态。图1 自动包装机的结构图 2 顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态一种特殊情况是,因为筐的容量是有限的,当筐已经满了,但仍然有某条轨道的按钮被按下时,系统应强制启动 0 号键,原创 2022-01-26 16:34:16 · 216 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L2-033 简单计算器
本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈 S1_11存放数字,另一个堆栈 S2_22存放运算符。计算器的最下方有一个等号键,每次按下这个键,计算器就执行以下操作:从 S1S_1S1中弹出两个数字,顺序为 n1_11和n2_22 ;从 S2_22中弹出一个运算符 op;执行计算 n 2_22op n1_11 ;将得到的结果压回 S1_11。直到两个堆栈都为空时,计算结束,最后的结果将显示在屏幕上。输入格式:输入首.原创 2022-01-25 17:38:31 · 230 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L3-020 至多删三个字符
给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串?输入格式:输入在一行中给出全部由小写英文字母组成的、长度在区间 [4, 106] 内的字符串。输出格式:在一行中输出至多删掉其中 3 个字符后不同字符串的个数。输入样例:ababcc输出样例:25提示:删掉 0 个字符得到 “ababcc”。删掉 1 个字符得到 “babcc”, “aabcc”, “abbcc”, “abacc” 和 “ababc”。删掉 2 个字符得到 “ab原创 2022-01-24 23:25:19 · 173 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L3-010 是否完全二叉搜索树
将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历结果,数字间以1个空格分隔,行的首尾不得有多余空格。第二行输出YES,如果该树是完全二叉树;否则输出NO。输入样例1:938 45 42 24 58 30 6原创 2022-01-24 21:33:06 · 68 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L3-008 喊山
喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。一个山头呼喊的声音可以被临近的山头同时听到。题目假设每个山头最多有两个能听到它的临近山头。给定任意一个发出原始信号的山头,本题请你找出这个信号最远能传达到的地方。输入格式:输入第一行给出3个正整数n、m和k原创 2022-01-24 17:17:38 · 134 阅读 · 1 评论 -
团体程序设计天梯赛-练习集——L3-002 特殊堆栈 (30 分)
堆栈是一种经典的后进先出的线性结构,相关的操作主要有“入栈”(在堆栈顶插入一个元素)和“出栈”(将栈顶元素返回并从堆栈中删除)。本题要求你实现另一个附加的操作:“取中值”——即返回所有堆栈中元素键值的中值。给定 N 个元素,如果 N 是偶数,则中值定义为第 N/2 小元;若是奇数,则为第 (N+1)/2 小元。输入格式:输入的第一行是正整数 N(≤105)。随后 N 行,每行给出一句指令,为以下 3 种之一:Push keyPopPeekMedian其中 key 是不超过 105的正整数;P原创 2022-01-22 13:35:44 · 115 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L3-028 森森旅游 (30 分)
好久没出去旅游啦!森森决定去 Z 省旅游一下。Z 省有 n 座城市(从 1 到 n 编号)以及 m 条连接两座城市的有向旅行线路(例如自驾、长途汽车、火车、飞机、轮船等),每次经过一条旅行线路时都需要支付该线路的费用(但这个收费标准可能不止一种,例如车票跟机票一般不是一个价格)。Z 省为了鼓励大家在省内多逛逛,推出了旅游金计划:在 i 号城市可以用 1 元现金兑换 ai_{i}i元旅游金(只要现金足够,可以无限次兑换)。城市间的交通即可以使用现金支付路费,也可以用旅游金支付。具体来说,当通过第 j 条原创 2022-01-21 20:01:26 · 318 阅读 · 2 评论 -
天梯赛分类练习-3——7-8 公路村村通 (30 分)
现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。输出格式:输出村村通需要的最低成本。如果输入数据不足以保证畅通,则输出−1,表示需要建设更多公路。输入样例:6 151 2 51 3 31 4 71 5 4原创 2022-01-12 18:11:14 · 84 阅读 · 0 评论 -
天梯赛——7-9 解密邀请码 (20 分)
HBU开设了一门全网独一份的新课程,因此大家迫不及待的等待选课的到来以求选到该课程,但是在选择前需要输入课程的邀请码,任何申请该课程的同学都会收到一个神秘字符串,为了保障字符串的安全性以及自己的课程不被窃取,课程老师发明了一种压缩算法对邀请码中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为m∣S,例如字符串HBUHBUHBU将会被压缩为[3∣HBU],现在同学们收到了课程的邀请码字,你能帮助他们进行解密么?输入格式:输入一个字符串S(∣S∣≤50),S展开后可能含有大写字母、小写字母原创 2022-01-04 21:07:44 · 374 阅读 · 0 评论 -
7-10 等比数列求和 (80 分)
输入格式:第一行输入两个整数a(1≤a≤109)与n(0≤n≤1018).输出格式:输入样例1:3 2输出样例1:13样例解释:30+31+32=13输入样例2:1000000 1000000000000000000输出样例2:143480269思路又学到了,用分治+快速幂求等比数列和实现分治法求等比数列和_Lacon的BOKO-CSDN博客代码#include<iostream>#include<cstring>#incl.原创 2021-07-08 19:37:18 · 429 阅读 · 0 评论 -
需要栈、而且感觉数据怪怪的(删掉) 进制转换(Q进制转换成T进制) (20 分)
给定一个整数Q(2<=Q<=10),一个非空字符串,以及另一个整数T(2<=T<=10), 编程要求过滤掉字符串中所有非Q进制数对应的字符组成一个新的字符串,该字符串无正负号,将该字符串表示的Q进制数转换为T进制数的字符串输出。输入格式:第一行输入一个整数Q, 代表Q进制(2<=Q<=10)第二行输入以回车结束的一行非空字符串。第三行输入一个整数T, 代表要转换成T进制输出格式:输出转换后的T进制数字符串。输入样例:10152输出样例:1111原创 2021-07-08 17:04:43 · 81 阅读 · 0 评论 -
2020HBU天梯赛选拔——7-3 判断素数 (10分)
本题的目标很简单,就是判断一个给定的正整数是否素数。输入格式:输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231 的需要判断的正整数。输出格式:对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。输入样例:211111输出样例:YesNo思路重点是for(int i=2;i<sqrt(n);i++){代码#include<bits\stdc++.h>using namespace std;int原创 2020-10-11 21:28:44 · 707 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L1-005 考试座位号 (15分)
每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成,座位从 1 到 N 编号。输入保证原创 2020-11-24 22:24:18 · 133 阅读 · 0 评论 -
天梯赛冲刺训练——7-14 最短路 (25 分)
小明同学来到西安工业大学后,听说了计算机学院有红细胞和网安两个协会,但是它们的招新比赛时间冲突了,小明同学只能选择一个去参加。小明同学开始的位置在图书馆(图中左上角且固定不变),由于小明同学不想多走路,所以他决定去距离自己最近的比赛地点。题目保证最短路径距离唯一且距离最近的协会一定存在通路。图书馆:字母’L’表示红细胞: 字母’R’表示网安:字母’S’表示障碍物:字母’X’表示可以走的路:字母’O’表示其中‘L’,‘R’,‘S’,‘O’均为可以走的路。图示红色为一条长度为7的最短路。输入格式原创 2021-04-23 09:26:15 · 169 阅读 · 1 评论 -
天梯赛冲刺训练——7-11 分解质因数 (20 分)
求出区间[a,b]中所有整数的质因数分解。输入格式:输入两个整数a,b。数据规模和约定 2<=a<=b<=10000输出格式:每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)输入样例:在这里给出一组输入。例如:3 10输出样例:在这里给出相应的输出。例如:3=34=2*25=56=2*37=78=2*2*29=3*310=2*5思路一开始没设xx[10001],超时,加了xx[1原创 2021-04-21 11:26:27 · 99 阅读 · 0 评论 -
2020HBU天梯赛选拔——7-11 彩虹瓶 (25分)
彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是,就把箱子先码放在一个临时货架上,码放的方法就是一箱一箱堆上去。当一种颜色装填完以后,先看看货架顶端的一箱是不是下一个要装填的颜色,如果是就取下来装填,否则去工厂里再搬一原创 2020-10-11 22:19:35 · 432 阅读 · 0 评论 -
天梯赛冲刺训练——7-8 回文子串 (10 分)
任务描述给定一个字符串,输出所有长度至少为2的回文子串。回文子串即从左往右输出和从右往左输出结果是一样的字符串,比如:abba,cccdeedccc都是回文字符串。输入格式:一个字符串,由字母或数字组成。长度500以内。输出格式:输出所有的回文子串,每个子串一行。子串长度小的优先输出,若长度相等,则出现位置靠左的优先输出。输入样例:123321125775165561输出样例:331177552332211257756556123321165561题目来源该题目选原创 2021-04-17 22:32:07 · 201 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L1-058 6翻了 (15 分)
L1-058 6翻了 (15 分)“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。输入格式:输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。输出格式:从左原创 2021-04-17 21:07:24 · 295 阅读 · 3 评论 -
天梯赛冲刺训练——7-6 二叉搜索树的最近公共祖先 (30 分)
给定一棵二叉搜索树的先序遍历序列,要求你找出任意两结点的最近公共祖先结点(简称 LCA)。输入格式:输入的第一行给出两个正整数:待查询的结点对数 M(≤ 1 000)和二叉搜索树中结点个数 N(≤ 10 000)。随后一行给出 N 个不同的整数,为二叉搜索树的先序遍历序列。最后 M 行,每行给出一对整数键值 U 和 V。所有键值都在整型int范围内。输出格式:对每一对给定的 U 和 V,如果找到 A 是它们的最近公共祖先结点的键值,则在一行中输出 LCA of U and V is A.。但如果 U原创 2021-04-17 20:31:12 · 733 阅读 · 2 评论 -
天梯赛冲刺训练——7-1 最小生成树的唯一性 (35 分)
给定一个带权无向图,如果是连通图,则至少存在一棵最小生成树,有时最小生成树并不唯一。本题就要求你计算最小生成树的总权重,并且判断其是否唯一。输入格式:首先第一行给出两个整数:无向图中顶点数 N(≤500)和边数 M。随后 M 行,每行给出一条边的两个端点和权重,格式为“顶点1 顶点2 权重”,其中顶点从 1 到N 编号,权重为正整数。题目保证最小生成树的总权重不会超过 230。输出格式:如果存在最小生成树,首先在第一行输出其总权重,第二行输出“Yes”,如果此树唯一,否则输出“No”。如果树不存在,原创 2021-04-04 11:09:28 · 869 阅读 · 0 评论 -
天梯赛选拔测试——7-5 约瑟夫问题变形 (15 分)
编号为1…N的N个小朋友玩游戏,他们按编号顺时针围成一圈,按顺时针次序报数,从第1个人报到第M个人出列;然后再从下个人开始报到第M+1个人出列;再从下一个人开始报到第M+2个人出列……以此类推不断循环,直至最后一人出列。请编写程序按顺序输出出列人的编号。输入格式:输入为2个整数,分别表示N、M(1≤N,M,K≤10000)。输出格式:输出为一行整数,为出列人的编号。每个整数后一个空格。输入样例1:6 3输出样例1:3 1 2 6 4 5 输入样例2:10 2输出样例2:2 5原创 2021-03-27 23:24:21 · 474 阅读 · 0 评论 -
天梯赛&&HBU训练营——7-1 哥尼斯堡的“七桥问题” (25分)(图)
7-1 哥尼斯堡的“七桥问题”哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示。可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707—1783)最终解决了这个问题,并由此创立了拓扑学。这个问题如今可以描述为判断欧拉回路是否存在的问题。欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个无向图,问是否存在欧拉回路?输入格式:输入第一行给出两个正整数,分别是节点数N (1≤N≤1000)和原创 2020-08-25 19:31:07 · 206 阅读 · 0 评论 -
团体程序设计天梯赛——L3-016 二叉搜索树的结构 (30 分)
二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树。(摘自百度百科)给定一系列互不相等的整数,将它们顺次插入一棵初始为空的二叉搜索树,然后对结果树的结构进行描述。你需要能判断给定的描述是否正确。例如将{ 2 4 1 3 0 }插入后,得到一棵二叉搜索树,则陈述句如“2是树的根”、“1和4是兄弟结点”、“3和0在同一层上”(指自顶向下的深度相同)、原创 2021-03-21 18:47:22 · 372 阅读 · 0 评论 -
团体程序设计天梯赛-练习集——L2-023 图着色问题 (25 分)
图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别是无向图的顶点数、边数、以及颜色数。顶点和颜色都从1到V编号。随后E行,每行给出一条边的两个端点的编号。在图的信息给出之后,给出了一个正整数N(≤20),是待检原创 2021-03-20 10:41:05 · 241 阅读 · 2 评论 -
2021天梯赛训练-3——7-8 关于堆的判断 (25分)
将一系列给定数字顺序插入一个初始为空的小顶堆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)和M(≤ 20),分别是插入元素的个数、以及需要判断的命题数。下一行给出区间[−10000,10000]内的N个要被插入一个初始为原创 2021-03-20 10:30:05 · 323 阅读 · 0 评论