天梯赛
浮生一朝
这个作者很懒,什么都没留下…
展开
-
L2-013. 红色警报(dfs)
L2-013. 红色警报战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N <=500)和M(<=5000),分别为城市个数(于是...原创 2018-03-14 21:25:51 · 296 阅读 · 0 评论 -
7-6 Harry Potter's Exam(25 分)(floyd最短路)
In Professor McGonagall’s class of Transfiguration, Harry Potter is learning how to transform one object into another by some spells. He has learnt that, to turn a cat into a mouse one can say docamo!...转载 2018-03-24 09:14:11 · 601 阅读 · 0 评论 -
7-1 整数分解为若干项之和(20 分)(dfs)
思路:不带标记的dfs,只要没有超过和就不断dfs直到超过了之后向前回溯。#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>int a[40],k,n;int num;int sum;void dfs(int x){ int i;...原创 2018-03-20 15:02:35 · 2088 阅读 · 0 评论 -
7-3 素数对猜想(20 分)
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。 输入格式:输入在一行给出正整数N。 输出格式:在一行中输出不超过N的满足猜想的素数对的个数。...原创 2018-03-20 15:26:24 · 1643 阅读 · 1 评论 -
7-3 素数对猜想(20 分)
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。 输入格式:输入在一行给出正整数N。 输出格式:在一行中输出不超过N的满足猜想的素数对的个数。...原创 2018-03-20 15:34:58 · 2154 阅读 · 1 评论 -
7-8 修理牧场(25 分)(哈夫曼树)
农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是Li的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,...原创 2018-03-20 15:37:13 · 4507 阅读 · 1 评论 -
7-7 笛卡尔树(25 分)(二叉排序树+最小堆)
笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字满足优先队列(不妨设为最小堆)的顺序要求,即该结点的K2值比其子树中所有结点的K2值小。给定一棵二叉树,请判断该树是否笛卡尔树。 输入格式:输入首先给出正整数N(≤1000),为树中结点的个数。随后N行,每行给出一个...原创 2018-03-20 20:36:11 · 1704 阅读 · 0 评论 -
7-10 六度空间(30 分)(bfs)
思路:找出每个点到其他点距离小于等于六的路径有多少条,求其占全部路径的百分比。#include<stdio.h>#include<stdlib.h>#include<string.h>#include<algorithm>#include<queue>using namespace std;int map[10...原创 2018-03-20 21:23:18 · 1078 阅读 · 1 评论 -
L1-8 矩阵A乘以B(15 分)
L1-8 矩阵A乘以B(15 分)给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra行、Ca列,B有Rb行、Cb列,则只有Ca与Rb相等时,两个矩阵才能相乘。 输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾...原创 2018-03-22 10:54:50 · 639 阅读 · 0 评论 -
L2-2 重排链表(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 (≤105)。结点的地址是5位非负整数,NULL地址用−...原创 2018-03-22 10:56:16 · 2005 阅读 · 0 评论 -
L1-3 阅览室(20 分)
天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效...原创 2018-03-22 10:58:22 · 796 阅读 · 0 评论 -
L2-011. 玩转二叉树(先序中序求后序)
L2-011. 玩转二叉树给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(<=30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树反转后的...原创 2018-03-14 11:22:11 · 335 阅读 · 0 评论 -
7-10 任务调度的合理性(25 分)(拓扑序列判断是否存在环)
7-10 任务调度的合理性(25 分)假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程...原创 2018-03-14 10:44:07 · 515 阅读 · 0 评论 -
7-2 输出全排列(20 分)(dfs)
7-2 输出全排列(20 分)请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。 输入格式:输入给出正整数n(<10)。 输出格式:输出1到n的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序,即序列a1,a2,⋯,an排在序列b1,b2,⋯,bn之前,如果存...原创 2018-03-15 20:26:52 · 2682 阅读 · 0 评论 -
7-9 集合相似度(25 分)
给定两个整数集合,它们的相似度定义为:Nc/Nt×100%。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。 输入格式:输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤104),是集合中元素的个数;然后跟M个[0,109...原创 2018-03-12 22:14:34 · 1376 阅读 · 0 评论 -
7-1 垃圾箱分布(30 分)(最短路)
大家倒垃圾的时候,都希望垃圾箱距离自己比较近,但是谁都不愿意守着垃圾箱住。所以垃圾箱的位置必须选在到所有居民点的最短距离最长的地方,同时还要保证每个居民点都在距离它一个不太远的范围内。现给定一个居民区的地图,以及若干垃圾箱的候选地点,请你推荐最合适的地点。如果解不唯一,则输出到所有居民点的平均距离最短的那个解。如果这样的解还是不唯一,则输出编号最小的地点。 输入格式:输入第一行给出4个正...转载 2018-03-23 09:25:35 · 1748 阅读 · 1 评论 -
7-11 列车厢调度(25 分)(栈)
1 ====== <--移动方向 /3 ===== \ 2 ====== –>移动方向大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧)。今天,我们就来实际操作一下列车厢的调度。对照上方的ASCII字符图,问题描述如下:有三条平行的列车轨道(1、2、3)以及1-3和2...原创 2018-03-14 09:25:09 · 2786 阅读 · 0 评论 -
7-1 列出连通集(25 分)
7-1 列出连通集(25 分)给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式:输入第1行给出2个整数N(0#include<stdio.h>#include<stdlib.h>#include<string.h...原创 2018-03-23 21:48:57 · 2666 阅读 · 0 评论 -
7-5 排座位(25 分)(并查集)
7-5 排座位(25 分)布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。 输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的...原创 2018-03-23 21:50:06 · 1460 阅读 · 0 评论 -
7-6 红色警报(25 分)(dfs)
战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。 输入格式:输入在第一行给出两个整数N(0 &lt; N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的...原创 2018-03-23 21:51:40 · 507 阅读 · 0 评论 -
7-8 拯救007(25 分)(dfs)
7-8 拯救007(25 分)在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。)设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 5...原创 2018-03-23 21:54:14 · 7227 阅读 · 0 评论 -
7-7 功夫传人(25 分)(dfs)
7-7 功夫传人(25 分)一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位师傅(除了祖...原创 2018-03-23 21:55:36 · 2018 阅读 · 0 评论 -
7-3 地下迷宫探索(30 分)(dfs)
地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式。地道网是房连房、街连街、村连村的地下工事,如下图所示。我们在回顾前辈们艰苦卓绝的战争生活的同时,真心钦佩他们的聪明才智。在现在和平发展的年代,对多数人来说,探索地下通道或许只是一种娱乐或者益智的游戏。本实验案例以探索地下通道迷宫作为内容。假设有一个地下通道迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)...原创 2018-03-23 21:57:18 · 1175 阅读 · 0 评论 -
L3-1 社交集群(30 分)(并查集)
当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友。一个“社交集群”是指部分兴趣爱好相同的人的集合。你需要找出所有的社交集群。 输入格式:输入在第一行给出一个正整数 N(≤1000),为社交网络平台注册的所有用户的人数。于是这些人从 1 到 N 编号。随后 N 行,每行按以下格式给出一个人的兴趣爱好列表:Ki: hi[1] h...原创 2018-03-26 16:50:26 · 1407 阅读 · 0 评论