团队程序设计天梯赛
刷题集
China-Rookie-LSJ
这个作者很懒,什么都没留下…
展开
-
是否完全二叉搜索树 (30 分)
将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历结果,数字间以1个空格分隔,行的首尾不得有多余空格。第二行输出YES,如果该树是完全二叉树;否则输出NO。输入样例1:938 45 42 24 58 30 6转载 2022-04-04 19:41:43 · 284 阅读 · 1 评论 -
7-13 二叉搜索树的结构 (30 分)
二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树。(摘自百度百科)给定一系列互不相等的整数,将它们顺次插入一棵初始为空的二叉搜索树,然后对结果树的结构进行描述。你需要能判断给定的描述是否正确。例如将{ 2 4 1 3 0 }插入后,得到一棵二叉搜索树,则陈述句如“2是树的根”、“1和4是兄弟结点”、“3和0在同一层上”(指自顶向下的深度相同)、原创 2022-02-12 12:26:57 · 579 阅读 · 0 评论 -
7-12 清点代码库 (25 分)
上图转自新浪微博:“阿里代码库有几亿行代码,但其中有很多功能重复的代码,比如单单快排就被重写了几百遍。请设计一个程序,能够将代码库中所有功能重复的代码找出。各位大佬有啥想法,我当时就懵了,然后就挂了。。。”这里我们把问题简化一下:首先假设两个功能模块如果接受同样的输入,总是给出同样的输出,则它们就是功能重复的;其次我们把每个模块的输出都简化为一个整数(在 int 范围内)。于是我们可以设计一系列输入,检查所有功能模块的对应输出,从而查出功能重复的代码。你的任务就是设计并实现这个简化问题的解决方案。输入.原创 2022-02-07 18:21:27 · 605 阅读 · 0 评论 -
病毒溯源 (25 分)
病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。输入格式:输入在第一行中给出一个正整数 N(≤104),即病毒种类的总数。于是我们将所有病毒从 0 到 N−1 进行编号。随后 N 行,每行按以下格式描述一种病毒的变异情况:.原创 2021-08-02 23:34:57 · 2645 阅读 · 0 评论 -
7-6 最小生成树 畅通工程之最低成本建设问题 (20 分)
某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了有可能建设成快速路的若干条道路的成本,求畅通工程需要的最低成本。输入格式:输入的第一行给出城镇数目N (1<N≤1000)和候选道路数目M≤3N;随后的M行,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号(从1编号到N)以及该道路改建的预算成本。输出格式:原创 2021-07-28 10:49:01 · 296 阅读 · 0 评论 -
7-2 图的两种遍历 列出连通集 (20 分)
给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v1 v2 … vk }"的格式,每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。输入样例:8 60 70 12原创 2021-07-26 22:18:44 · 212 阅读 · 0 评论 -
流水作业调度(贪心)
n个作业{1,2,…,n}要在由2台机器M1和M2组成的流水线上完成加工。每个作业加工的顺序都是先在M1上加工,然后在M2上加工。M1和M2加工作业i所需的时间分别为ai和bi。流水作业调度问题要求确定这n个作业的最优加工顺序,使得从第一个作业在机器M1上开始加工,到最后一个作业在机器M2上加工完成所需的时间最少。输入格式:第一行给出作业个数n(0<n<100)第二行起的n行,每行两个数ai和bi输出格式:两个数字,以空格分隔,分别表示M1机器运行结束的时间和M2机器运行结束的时原创 2021-05-12 12:11:36 · 726 阅读 · 2 评论 -
1235帮的Kth
整数1,2,3,5成立了一个帮会:只限能够1,2,3,5内部相乘得到的自然数入会(即可以写成2的某次方,3的某次方与5的某次方的积的形式。如60=4x15=22x3x5,故60是1234帮的)。按从小到大的顺序,前十个会员是:1,2,3,4,5,6,8,9,10,12。请编写程序,输出排在第K个位置的整数(第一个是1,第六个6,第十个是12)。 因为K可能取到较大的值,请尽量使用高效算法。输入格式:输入一个位排位号(1–N)输出格式:直接输出排在第K个的会员。输入样例:12输出样例:原创 2021-05-10 22:50:40 · 164 阅读 · 0 评论 -
变异的勾股定理
设直角三角形的两条直角边长度分别是 和a,b斜边长度是c,那么可以用数学语言表达:a2+b2=c2,这就是勾股定理,但是在本题中, 勾股定理它!变!异!了!,若三个数满足a2+b2=c,那么称该数满足变异的勾股定理, 现在给定一个数c,如果存在两个数a与b满足a2+b2=c,那么输出Yes,否则输出No.数据范围:c<=231−1输入格式:输入一个整数c输出格式:输出Yes或No输入样例1:5输出样例1:在这里给出相应的输出。例原创 2021-05-10 22:40:32 · 150 阅读 · 0 评论 -
刮刮彩票 (20 分)
“刮刮彩票”是一款网络游戏里面的一个小游戏。如图所示:每次游戏玩家会拿到一张彩票,上面会有 9 个数字,分别为数字 1 到数字 9,数字各不重复,并以 3×3 的“九宫格”形式排布在彩票上。在游戏开始时能看见一个位置上的数字,其他位置上的数字均不可见。你可以选择三个位置的数字刮开,这样玩家就能看见四个位置上的数字了。最后玩家再从 3 横、3 竖、2 斜共 8 个方向中挑选一个方向,方向上三个数字的和可根据下列表格进行兑奖,获得对应数额的金币。现在请你写出一个模拟程序,模拟玩家的游戏过程。输入格式:原创 2021-04-23 23:53:08 · 673 阅读 · 2 评论 -
前世档案 (20 分)
网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。现在我们把结论从左到右顺序编号,编号从 1 开始。这里假设回答都是简单的“是”或“否”,又假设回答“是”对应向左的路径,回答“否”对应向右的路径。给定玩家的一系列回答,请你返回其得到的结论的编号。输入格式:输入第一行给出两个正整数:N(≤30)为玩家做一次测试要回答的问题数量;M(≤100)为玩家人数。随后 M 行,每行顺次给出玩原创 2021-04-23 23:29:33 · 607 阅读 · 0 评论 -
小字辈 (25 分)
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。输入格式:输入在第一行给出家族人口总数N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到N编号。随后第二行给出 N 个编号,其中第i个编号对应第 i位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。输出格式:首先输出最小的辈分(老祖宗的辈分为 1,以下逐级递增)。然后在第二行按递增顺序输出辈分最小的成员的编号。编号间以一个空格分隔,行首尾不得有多余空格。输入样例:92 6原创 2021-04-22 00:01:58 · 272 阅读 · 1 评论 -
功夫传人 (25 分)
一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位师傅(除了祖师爷没有师傅);每位师傅可以带很多徒弟;并且假设辈分严格有序,即祖师爷这门武功的每个第i代传人只能在第i-1代传人中拜1个师傅。我们假设已知祖师爷原创 2021-04-16 23:59:51 · 469 阅读 · 1 评论 -
人以群分 (25 分)
社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。输入格式:输入第一行给出一个正整数N(2≤N≤105)。随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。题目保证这些数字以及它们的和都不会超过231。输出格式:按下列格式输出:Outgoing #: N1Introverted #: N2原创 2021-04-15 00:41:17 · 320 阅读 · 0 评论 -
列车调度 (25 分)
火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式:输入第一行给出一个整数N (2 ≤ N ≤105),下一行给出从1到N的整数序号的一个重排列。数字间以空格分隔。输出格式:在一行原创 2021-04-14 00:14:03 · 2278 阅读 · 1 评论 -
家庭房产 (25 分)
给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。输入格式:输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产:编号 父 母 k 孩子1 … 孩子k 房产套数 总面积其中编号是每个人独有的一个4位数的编号;父和母分别是该编号对应的这个人的父母的编号(如果已经过世,则显示-1);k(0≤k≤5)是该人的子女的个数;孩子i是其子女的编号。输出格式:首先在第一行输出家庭个数(所有有亲属关系的人都属于同一个家庭)。随后按下列格原创 2021-04-13 23:54:35 · 361 阅读 · 0 评论 -
紧急救援 (25 分)
作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~ (N−1);M是快速道路的条数;S是出发地的城市编号;D是目的地的城市编号。第二行给出N个正整数,原创 2021-04-13 00:38:59 · 525 阅读 · 0 评论 -
集合相似度 (25 分)
给定两个整数集合,它们的相似度定义为:Nc/Nt×100%。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。输入格式:输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤104),是集合中元素的个数;然后跟M个[0,109]区间内的整数。之后一行给出一个正整数K(≤2000),随后K行,每行对应一对需要计算相似度的集合的编号(集合从原创 2021-04-08 00:08:26 · 1098 阅读 · 0 评论 -
7-5 部落 (20分)(没用set)
7-5 部落 (20分)在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(≤104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:K P[1] P[2] ⋯ P[K]其中K是小圈子里的人数,P[i](i=1,⋯,K)是小圈子里每个人的编号。这里所有人的编号从1开始连续编号,最大编原创 2020-11-25 21:59:36 · 282 阅读 · 0 评论 -
7-4 树的遍历 (20分)
7-4 树的遍历 (20分)给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:4 1 6 3 5 7 2思路:首先不就是通过中序后序遍原创 2020-11-16 23:09:39 · 616 阅读 · 3 评论 -
1-10 链表去重 (20分)
1-10 链表去重 (20分)给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式:输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤105,为结点总数)。一个结点的地址是非负的 5 位整数,空地址 NULL 用 -1 来表示。随后 N原创 2020-11-07 16:19:11 · 629 阅读 · 0 评论 -
关于堆的判断 (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-04-06 23:53:26 · 423 阅读 · 0 评论 -
7-5 约瑟夫问题变形 (15 分)
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 输入样例原创 2021-03-28 00:18:10 · 1800 阅读 · 1 评论 -
L1-054 福到了 (15 分)
L1-054 福到了 (15 分)“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。输入格式:输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为 @ 或者为空格。输出格式:输出倒置的网格,如样例所示。但是,如果这个字正过来倒原创 2021-03-23 22:26:00 · 133 阅读 · 0 评论 -
L1-049 天梯赛座位分配 (20 分)
L1-049 天梯赛座位分配 (20 分)天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 1 所学校的队伍还没有分配座位,则需要安排他们的队员隔位就坐。本题就要求你编写程原创 2021-03-23 13:10:11 · 340 阅读 · 0 评论 -
L1-046 整除光棍 (20 分)
L1-046 整除光棍 (20 分)这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,原创 2021-03-18 23:13:47 · 451 阅读 · 0 评论 -
L1-043 阅览室 (20 分)
L1-043 阅览室 (20 分)天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读原创 2021-03-18 22:50:32 · 129 阅读 · 0 评论 -
L1-033 出生年 (15 分)
L1-033 出生年 (15 分)以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。输入格式:输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2、或3、或4。注意不足4位的年份要在前面补零,例如公元1年被认为是0001年,有2个不同的数字0和1。输出格式:根据输入,原创 2021-03-06 11:32:55 · 1460 阅读 · 0 评论 -
L1-030 一帮一 (15 分)
L1-030 一帮一 (15 分)“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。输入格式:输入第一行给出正偶数N(≤50),即全班学生的人数。此后N行,按照名次从高到低的顺序给出每个学生的性别(0代表女生,1代表男生)和姓名(不超过8个英文字母的非空字符串),其间以1个空格分隔。这里保证本班男女比例是原创 2021-03-03 22:54:24 · 112 阅读 · 1 评论 -
L1-027 出租 (20 分)
L1-027 出租 (20 分)下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2对应arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。输入格式:输入在一行中给出一个由11原创 2021-03-03 22:32:38 · 155 阅读 · 1 评论 -
7-8 查验身份证 (15 分)
7-8 查验身份证 (15 分)一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。输入格式:输入第一行原创 2021-02-20 12:09:37 · 1226 阅读 · 0 评论 -
7-1 N个数求和 (20 分)
7-1 N个数求和 (20 分)本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,原创 2021-02-20 10:59:22 · 1591 阅读 · 0 评论 -
7-10 愿天下有情人都是失散多年的兄妹 (25分)
7-10 愿天下有情人都是失散多年的兄妹 (25分)呵呵。大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人、父母、祖父母、曾祖父母、高祖父母)则不可通婚。本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚?输入格式:输入第一行给出一个正整数N(2 ≤ N≤104),随后N行,每行按以下格式给出一个人的信息:本人ID 性别 父亲ID 母亲ID其中ID是5位数字,每人不同;性别M代表男性、F代表女性。如果某人的父亲或母亲已经不可考,则相应的ID位置上标记为-1。原创 2021-02-01 11:52:54 · 755 阅读 · 0 评论 -
7-9 玩转二叉树 (25分)
7-9 玩转二叉树 (25分)给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:71 2 3 4 5 6 74 1 3 2 6原创 2021-02-01 10:38:52 · 1040 阅读 · 0 评论 -
7-4 倒数第N个字符串 (15分)
7-4 倒数第N个字符串 (15分)给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。输入格式:输入在一行中给出两个正整数 L(2 ≤ L ≤ 6)和 N(≤105)。输出格原创 2021-01-31 18:29:50 · 492 阅读 · 0 评论 -
7-11 种苹果 (30分)(未完成不AC)
7-11 种苹果 (30分)最近流行种苹果的游戏,玩家种下一颗苹果树,初始成长值为0,每次浇水都会增加成长值,当成长值大于等于V时,就可以收获成熟的苹果了。玩家拥有五种颜色(红色、黄色、蓝色、绿色、紫色)的水壶若干个,每浇水一次就消耗一个水壶,不同颜色的水壶水量不一定一样,因此用不同颜色的水壶浇水苹果树获得的成长值也可能不一样。苹果成熟后剩余水壶中的水量仍然可以继续在下一局游戏中继续使用,因此,玩家想用最少的水量让苹果成熟,最大程度节约水量。请你帮他计算下苹果成熟的最少浇水量。输入格式:输入第一行为一原创 2021-01-30 16:48:39 · 1078 阅读 · 2 评论 -
L1-006 连续因子 (20分)
L1-006 连续因子 (20分)一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按因子1*因子2*……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。输入样原创 2021-01-30 16:44:50 · 104 阅读 · 0 评论 -
7-10 深入虎穴 (25分)
7-10 深入虎穴 (25分)著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报。已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门。每一扇门背后或者是一个房间,或者又有很多条路,同样是每条路通向一扇门…… 他的手里有一张表格,是其他间谍帮他收集到的情报,他们记下了每扇门的编号,以及这扇门背后的每一条通路所到达的门的编号。007 发现不存在两条路通向同一扇门。内线告诉他,情报就藏在迷宫的最深处。但是这个迷宫太大了,他需要你的帮助 —— 请编程帮他找出距离入口最远的原创 2021-01-29 12:44:10 · 1577 阅读 · 4 评论 -
7-9 图着色问题 (25分)
7-9 图着色问题 (25分)图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别是无向图的顶点数、边数、以及颜色数。顶点和颜色都从1到V编号。随后E行,每行给出一条边的两个端点的编号。在图的信息给出之后,给出原创 2021-01-29 10:14:37 · 1096 阅读 · 1 评论 -
7-5 最小支撑树 (10分)
7-5 最小支撑树 (10分)给定一个包含n个顶点的正权无向图,编号为0至n-1。请编写程序求出其最小支撑树,并计算其代价。输入格式:输入包含多组数据。每组数据第一行为2个整数n和e,均不超过200,分别表示图的顶点数和边数。接下来e行表示每条边的信息,每行为3个非负整数a、b、c,其中a和b表示该边的端点编号,c表示权值。各边并非按端点编号顺序排列。输出格式:对于每组数据,若存在最小支撑树则输出一个整数,为最小支撑树各边权值之和;若不存在最小支撑树,则输出“There is no minimum原创 2021-01-28 15:53:02 · 910 阅读 · 0 评论