
数据结构实验
<Running Snail>
奇点将至
展开
-
【题解】(排序) —— POJ 0803:DNA排序
总时间限制: 1000ms 内存限制: 65536kB描述现在有一些长度相等的DNA串(只由ACGT四个字母组成),请将它们按照逆序对的数量多少排序。逆序对指的是字符串A中的两个字符A[i]、A[j],具有i < j 且 A[i] > A[j] 的性质。如字符串”ATCG“中,T和C是一个逆序对,T和G是另一个逆序对,这个字符串的逆序对数为2。输入第1行:两个整数n和m,n(0<n<=50)表示字符串长度,m(0<m<=100)表示字符串数量第2至m+1行:每原创 2021-06-03 16:22:05 · 825 阅读 · 1 评论 -
【题解】(排序) —— POJ 0810:距离排序
总时间限制: 1000ms 内存限制: 65536kB描述给出三维空间中的n个点(不超过10个),求出n个点两两之间的距离,并按距离由大到小依次输出两个点的坐标及它们之间的距离。输入输入包括两行,第一行包含一个整数n表示点的个数,第二行包含每个点的坐标(坐标都是整数)。点的坐标的范围是0到100,输入数据中不存在坐标相同的点。输出对于大小为n的输入数据,输出n*(n-1)/2行格式如下的距离信息:(x1,y1,z1)-(x2,y2,z2)=距离其中距离保留到数点后面2位。样例输入40原创 2021-06-02 18:19:31 · 943 阅读 · 0 评论 -
【题解】(排序) —— POJ 0811:牛的选举
总时间限制: 1000ms 内存限制: 65536kB描述现在有N(1<=N<=50000)头牛在选举它们的总统,选举包括两轮:第一轮投票选举出票数最多的K(1<=K<=N)头牛进入第二轮;第二轮对K头牛重新投票,票数最多的牛当选为总统。现在给出每头牛i在第一轮期望获得的票数Ai(1<=Ai<=1,000,000,000),以及在第二轮中(假设它进入第二轮)期望获得的票数Bi(1<=Bi<=1,000,000,000),请你预测一下哪头牛将当选总统。幸运原创 2021-06-02 18:15:03 · 650 阅读 · 0 评论 -
【题解】(图论) —— POJ 0714:兔子与星空
总时间限制: 1000ms 内存限制: 10000kB描述很久很久以前,森林里住着一群兔子。兔子们无聊的时候就喜欢研究星座。如图所示,天空中已经有了n颗星星,其中有些星星有边相连。兔子们希望删除掉一些边,然后使得保留下的边仍能是n颗星星连通。他们希望计算,保留的边的权值之和最小是多少?输入第一行只包含一个表示星星个数的数n,n不大于26,并且这n个星星是由大写字母表里的前n个字母表示。接下来的n-1行是由字母表的前n-1个字母开头。最后一个星星表示的字母不用输入。对于每一行,以每个星星表示的字母开原创 2021-06-02 16:00:10 · 802 阅读 · 0 评论 -
数据结构实验 9.求逆序对数
题目【问题描述】对于一个长度为N的整数序列A,满足i < j 且 Ai > Aj的数对(i,j)称为整数序列A的一个逆序。请求出整数序列A的所有逆序对个数。【输入形式】输入包含多组测试数据,每组测试数据有两行,第一行为整数N(1 <= N <= 20000),当输入0时结束,第二行为N个整数,表示长为N的整数序列。【输出形式】每组数据对应一行,输出逆序对的个数。【样例输入】51 2 3 4 555 4 3 2 1110【样例输出】0100分原创 2021-05-19 18:18:02 · 1229 阅读 · 1 评论 -
数据结构实验 8.寻找中位数
题目【问题描述】在N(1<=N<10,000且N为奇数)个数中,找到中位数。【输入形式】第1行:N第2至N+1行:每行是一个整数【输出形式】第一行:中位数【样例输入】524135【样例输出】3C++代码#include<iostream>using namespace std;int num[10010];int main(){ int n, x; cin >> n; for(int i=0; i<n; i++){原创 2021-05-19 18:16:04 · 1039 阅读 · 0 评论 -
数据结构实验 7.兔子与樱花
【问题描述】很久很久之前,森林里住着一群兔子。有一天,兔子们希望去赏樱花,但当他们到了上野公园门口却忘记了带地图。现在兔子们想求助于你来帮他们找到公园里的最短路。【输入形式】输入分为三个部分。第一个部分有P+1行(P<30),第一行为一个整数P,之后的P行表示上野公园的地点。第二个部分有Q+1行(Q<50),第一行为一个整数Q,之后的Q行每行分别为两个字符串与一个整数,表示这两点有直线的道路,并显示二者之间的矩离(单位为米)。第三个部分有R+1行(R<20),第一行为一个整数R原创 2021-05-19 18:13:14 · 570 阅读 · 0 评论 -
数据结构实验 6.宗教信仰
题目【问题描述】世界上有许多宗教,你感兴趣的是你学校里的同学信仰多少种宗教。你的学校有n名学生(0 < n <= 50000),你不太可能询问每个人的宗教信仰,因为他们不太愿意透露。但是当你同时找到2名学生,他们却愿意告诉你他们是否信仰同一宗教,你可以通过很多这样的询问估算学校里的宗教数目的上限。你可以认为每名学生只会信仰最多一种宗教。【输入形式】输入包括多组数据。每组数据的第一行包括n和m,0 <= m <= n(n-1)/2,其后m行每行包括两个数字i和j,表示学生i原创 2021-05-19 18:11:17 · 618 阅读 · 0 评论 -
数据结构实验 5.二叉树深度
【问题描述】给定一棵二叉树,求该二叉树的深度。二叉树深度定义:从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的节点个数为树的深度。【输入形式】第一行是一个整数n,表示二叉树的结点个数。二叉树结点编号从1到n,根结点为1,n <= 10接下来有n行,依次对应二叉树的n个节点。每行有两个整数,分别表示该节点的左儿子和右儿子的节点编号。如果第一个(第二个)数为-1则表示没有左(右)儿子。【输出形式】输出一个整型数,表示树的深度。【样例输入】32 3-1 -1原创 2021-05-19 18:01:16 · 745 阅读 · 0 评论 -
数据结构实验 4.括号画家
题目【问题描述】Candela是一名漫画家,她有一个奇特的爱好,就是在纸上画括号。这一天,刚刚起床的Candela画了一排括号序列,其中包含小括号()、中括号[]和大括号{},总长度为N。这排随意绘制的括号序列显得杂乱无章,于是Candela定义了什么样的括号序列是美观的:(1) 空的括号序列是美观的;(2) 若括号序列A是美观的,则括号序列(A)、[A]、{A}也是美观的;(3) 若括号序列A、B都是美观的,则括号序列AB也是美观的;例如 (){} 是美观的括号序列,而 )({)[}]( 则不原创 2021-05-19 17:58:45 · 884 阅读 · 0 评论 -
数据结构实验 3.抓住那头牛
题目【问题描述】农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式:1、从X移动到X-1或X+1,每次移动花费一分钟2、从X移动到2*X,每次移动花费一分钟假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?【输入形式】两个整数,N和K【输出形式】一个整数,农夫抓到牛所要花费的最小分钟数【样例输入】5 17【样例输出】4分析原创 2021-05-19 17:57:07 · 970 阅读 · 1 评论 -
数据结构实验 2.连续整数之和(2012年北航研究生入学考试)
题目【问题描述】某些整数能分解成若干个连续整数的和的形式,例如15 = 1 + 2+3+4+515 = 4 + 5 + 615 = 7 + 8某些整数不能分解为连续整数的和,例如:16【输入形式】一个整数N(N <= 10000)【输出形式】整数N对应的所有分解组合,如果没有任何分解组合,则输出NONE。【样例输入】15【样例输出】1 2 3 4 54 5 67 8【样例输入】16【样例输出】NONE【样例说明】按照分解组合的整数个数由多到少输出;每种分解组合占一原创 2021-05-19 17:51:49 · 408 阅读 · 0 评论 -
数据结构实验 寻找数组主元素(2013考研题)
题目【问题描述】已知一个整数序列A长度为N其中若存在a且a的个数大于N/2则称为A的主元素例如0 5 5 3 5 7 5 5 则为主元素 5又如0 5 5 3 5 1 5 7则中没有主元素。假设中的个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出的主元素。若存在主元素则输出该元素否则输出-1【输入形式】一个整数数组【输出形式】主元素【样例输入】0 5 5 3 5 7 5 5【样例输出】5分析注意输入问题的解决,采用了C++留读入代码#include<ios原创 2021-05-19 17:16:52 · 1605 阅读 · 0 评论