自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 收藏
  • 关注

原创 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历

Description给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)Input输入第一行为整数n(0< n <100),表示数据的组数。对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点,t为遍历的起始顶点。下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。Output输

2020-12-11 22:08:19 202 1

原创 巨斧砍大树

Description阿福最近练就了一个新的招式:巨斧砍大树。这个招式可以砍掉一颗二叉搜索树的某个子树。现在,阿福面前有一颗nn个结点的二叉搜索树,他要使用mm次招式,于是他想询问你每次使用「巨斧砍大树」后二叉搜索树会被砍成什么样子。二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树。Input第一行输入22个整数nn,...

2020-12-11 15:48:01 311

原创 迷失の搜索树

Description小璐在机缘巧合之下获得了一个二叉搜索树,这个二叉搜索树恰好有n个节点,每个节点有一个权值,每个节点的权值都在[1,n]这个区间内,并且两两不相同,真是优美的性质啊但是命运的不公又让她失去了这个二叉搜索树幸运的是,她还记得自己丢失的二叉搜索树的前序遍历序列。在丢了二叉搜索树之后,小璐无比想念她的这个树的后序遍历那么问题来了,聪明的你在知道这个二叉搜索树的前序遍历的序列的情况下,能帮她找到这个二叉搜索树的后序遍历嘛?Input多组输入,以文件结尾每组数据第.

2020-12-11 14:33:12 126

原创 二叉树

Description已知二叉树的一个按前序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树,并输出建立二叉树的前序遍历序列、中序遍历序列、后序遍历序列、层次遍历序列、深度、叶子数。Input多组测试数据,对于每组测试数据,输入一个长度小于50的按前序遍历输入的字符序列。Output对于每组测试数据,第1行输出其前序遍历序列、第2行输出其中序遍历序列、第3行输出其后序遍历序列、第4行输出其深度、第5行输出其叶子数。SampleInput.

2020-12-10 21:36:20 118

原创 数据结构实验之二叉树七:叶子问题

Description已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立该二叉树并按从上到下从左到右的顺序输出该二叉树的所有叶子结点。Input输入数据有多行,每一行是一个长度小于50个字符的字符串。Output按从上到下从左到右的顺序输出二叉树的叶子结点。SampleInputabd,,eg,,,cf,,,xnl,,i,,u,,OutputdfguliHint#define maxSize 55...

2020-12-10 13:59:22 149

原创 数据结构实验之二叉树五:层序遍历

Description已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。Input输入数据有多行,第一行是一个整数t(t<1000),代表有t行测试数据。每行是一个长度小于50个字符的字符串。Output输出二叉树的层次遍历序列。SampleInput2abd,,eg,,,cf,,,xnl,,i,,u,,OutputabcdefgxnuliHint#d...

2020-12-10 13:54:28 213

原创 数据结构实验之二叉树四:(先序中序)还原二叉树

Description给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。Input输入数据有多组,每组数据第一行输入1个正整数N(1 <= N <= 50)为树中结点总数,随后2行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区分大小写)的字符串。Output输出一个整数,即该二叉树的高度。SampleInput9 ABDFGHIECFDHGIBEACOutput5#define maxSize ...

2020-12-09 21:41:05 243

原创 数据结构实验之二叉树三:统计叶子数

Description已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,,(其中,表示空结点)。请建立二叉树并求二叉树的叶子结点个数。Input连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。Output输出二叉树的叶子结点个数。SampleInputabc,,de,g,,f,,,Output3Hint#define maxSize 55#include<iostream>#inclu...

2020-12-09 15:29:12 177

原创 数据结构实验之二叉树二:遍历二叉树

Description已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,,(其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。Input连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。Output每组输入数据对应输出2行:第1行输出中序遍历序列;第2行输出后序遍历序列。SampleInputabc,,de,g,,f,,,OutputcbegdfacgefdbaHint#de...

2020-12-09 14:58:29 87

原创 数据结构实验之二叉树一:树的同构

Description给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2现给定两棵树,请你判断它们是否是同构的。Input输入数据包含多组,每组数据给出2棵二叉树的信息。对于每棵树,首先在一行中给出一个非负整数N(≤10),即该树的结点数(此时假设结点从0到N−1编号);随后N行,第i行...

2020-12-08 22:01:39 98

原创 bLue的文件查找器

DescriptionbLue 的电脑里存了各种各样的文件,随着文件越来越多,查找文件也成了一个麻烦事。现在,他想要查找所有指定格式(扩展名)的文件,不过他并不会使用文件管理器自带的搜索功能,所以他想求你写一个文件查找器,来帮他查找所有指定格式的文件。Input输入数据有多组(数据组数不超过 100),到 EOF 结束。对于每组数据:第一行输入一个整数 n (1 <= n <= 100) 和一个长度不超过 5 的字符串 ex,分别表示文件夹内的文件数量和要查找的文件的扩展

2020-12-07 21:35:20 100

原创 cyk追楠神系列一

Description众所周知,cyk 是个奇特的人,有一天,他终于又做出了一个惊 (zheng) 人 (chang) 的决定,他决定追楠神了!于是 cyk 就写了一封信向楠神表白。但是楠神作为 acm 的大佬,怎么能轻易答应 cyk,他决定对信做一个考察,为此他特意定义了“爱的证据”,“爱的证据”即如果在信里的一个长度等于 k 的字符子串里包含“love”,那么这就是一个“爱的证据”,比如 k=5 时,字符串“i love you”里“ love”和“love ”就是“爱的证据”。 现在,楠神想知道

2020-12-07 14:46:34 148

原创 cyk追楠神系列三

Description众所周知,cyk给楠神写了一封信表白。作为有一个有礼貌的五好青年,楠神当然得给 cyk 写一封回信咯,俗称“好人信”。楠神是一个非常有文采的人,他在信里引用了很多名言来安慰 cyk,有时候他觉得一句话很好的话,他会引用很多次。现在他想考考 cyk,在告诉 cyk 里面每句名言的情况下,看看 cyk 能不能找到每局名言在信里被引用了多少次。如果能找到的话,说明 cyk 也是一个有涵养的人,楠神对 cyk 的好感度就会增加。cyk 语文和眼力那么差,当然不行咯,所以你赶快帮帮

2020-12-06 18:01:39 92

原创 数据结构实验之数组三:快速转置

Description转置运算是一种最简单的矩阵运算,对于一个m*n的矩阵M( 1 = < m < = 10000,1 = < n < = 10000 ),它的转置矩阵T是一个n*m的矩阵,且T( i , j )=M( j , i )。显然,一个稀疏矩阵的转置仍然是稀疏矩阵。你的任务是对给定一个m*n的稀疏矩阵( m , n < = 10000 ),求该矩阵的转置矩阵并输出。矩阵M和转置后的矩阵T如下图示例所示。 稀疏矩阵M ...

2020-12-06 16:40:59 365

原创 学密码学一定得学程序

Description曾经,ZYJ同学非常喜欢密码学。有一天,他发现了一个很长很长的字符串S1。他很好奇那代表着什么,于是神奇的WL给了他另一个字符串S2。但是很不幸的是,WL忘记跟他说是什么意思了。这个时候,ZYJ不得不求助与伟大的ZP。ZP笑了笑说,这个很神奇的,WL的意思是只要你找到她给你的字符串在那个神奇的字符串的位置,你就会有神奇的发现。ZYJ恍然大悟,原来如此,但是悲剧来了,他竟然不知道怎么找。。。。是的,很囧是不是。所以这时候就需要化身为超级玛丽亚的你现身了,告诉他吧。。。。。。Inp

2020-12-06 16:09:03 85

原创 串结构练习——字符串连接

Description给定两个字符串string1和string2,将字符串string2连接在string1的后面,并将连接后的字符串输出。连接后字符串长度不超过110。Input输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2。Output对于每组输入数据,对应输出连接后的字符串,每组输出占一行。SampleInput123654abssfgOutput123654abssfgH...

2020-12-06 15:01:45 332

原创 数据结构实验之串二:字符串匹配

Description给定两个字符串string1和string2,判断string2是否为string1的子串。Input输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2,string1和string2中保证不出现空格。(string1和string2大小不超过100字符)Output对于每组输入数据,若string2是string1的子串,则输出"YES",否则输出"NO"。SampleInputab...

2020-12-05 18:43:56 182

原创 数据结构实验之串三:KMP应用

Description有n个小朋友,每个小朋友手里有一些糖块,现在这些小朋友排成一排,编号是由1到n。现在给出m个数,能不能唯一的确定一对值l和r(l <= r),使得这m个数刚好是第l个小朋友到第r个小朋友手里的糖块数?Input首先输入一个整数n,代表有n个小朋友。下一行输入n个数,分别代表每个小朋友手里糖的数量。之后再输入一个整数m,代表下面有m个数。下一行输入这m个数。Output如果能唯一的确定一对l,r的值,那么输出这两个值,否则输出-1SampleInp.

2020-12-05 18:34:21 115

原创 数据结构实验之串一:KMP简单应用

Description给定两个字符串string1和string2,判断string2是否为string1的子串。Input输入包含多组数据,每组测试数据包含两行,第一行代表string1(长度小于1000000),第二行代表string2(长度小于1000000),string1和string2中保证不出现空格。Output对于每组输入数据,若string2是string1的子串,则输出string2在string1中的位置,若不是,输出-1。SampleInput...

2020-12-05 18:03:29 122

原创 Special Judge Ⅲ

DescriptionQ:什么是 Special Judge,Special Judge 的题目有什么不同?A:一个题目可以接受多种正确方案,即有多组解的时候,题目就必须被 Special Judge。Special Judge 程序使用输入数据和一些其他信息来判答你程序的输出,并将判答结果返回。不抽黑贞与咸鱼有什么区别?5月3日 FGO(Fate/Grand Order) 赝作活动来袭,MLE 开始了他的玄学抽卡:他在 n 个小方块上写上数字,并按照先后顺序往上堆,在堆..

2020-12-05 17:45:52 166

原创 我成了瘸腿鹅

Description智 (hei) 慧 (bang) 长 (yi) 者 (ge) 阿福虽说是智勇双全,却无奈老是被该 (zheng) 死 (yi) 的成龙欺负。既然武斗不行,那么今天阿福决定靠他的智慧为自己找回些面子。所以他今天打算和成龙来比纸牌接龙游戏,输的人将会接受惩罚。游戏是这样的阿福先出牌,然后成龙出牌,出的牌按出牌顺序排成一列,如果当前出的牌在出牌序列中,那么那个人可以取走两张相同牌之间的所有牌并加上相应于牌数的分。比如原牌的排列为 5 4 3 6 9 8 现在成龙出牌 9 那么他可以取走

2020-12-05 17:37:20 1210

原创 数据结构实验之栈与队列十一:refresh的停车场

Descriptionrefresh最近发了一笔横财,开了一家停车场。由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多。当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先进入停车场,而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉你停车场容量N以及命令数M,以及一些命令(Add num 表示车牌号为num的车辆要进入停车场或便道,Del 表示停车场中出去了一辆车,Out 表示便道最前面的车辆不再等待,放弃进入停车场)。假设便道内的车辆不超过10.

2020-12-05 16:59:42 46

原创 数据结构实验之栈与队列四:括号匹配

Description给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。Input输入数据有多组,处理到文件结束。Output如果匹配就输出“yes”,不匹配输出“no”SampleInputsin(20+10){[}]Outputyesno#define maxSize 55#include <iostream>#inclu...

2020-12-05 16:21:41 109

原创 F - 数据结构实验之数组二:稀疏矩阵

Description对于一个n*n的稀疏矩阵M(1 <= n <= 1000),采用三元组顺序表存储表示,查找从键盘输入的某个非零数据是否在稀疏矩阵中,如果存在则输出OK,不存在则输出ERROR。稀疏矩阵示例图如下:Input连续输入多组数据,每组数据的第一行是三个整数mu, nu, tu(tu<=50),分别表示稀疏矩阵的行数、列数和矩阵中非零元素的个数,数据之间用空格间隔,随后tu行输入稀疏矩阵的非零元素所在的行、列值和非零元素的值,每组数据的最后一行输入.

2020-12-05 16:16:08 140

原创 N - 蚂蚁花呗

Description众所周知,蚂蚁是一种十分神奇的生物,在算法设计中,我们往往能从它身上得到启发,例如在求解TSP问题中,就有一种模仿蚂蚁行为方式而设计出的蚁群算法。 z这种算法是由Marco Dorigo等人在1991年研究新型算法的过程中,发现蚁群在寻找食物时,通过蚂蚁分泌一种称为信息素的生物激素交流觅食信息从而能快速的找到目标,据此提出来的一种十分神奇的算法。今天,我们也来从蚂蚁身上寻找一些灵感。水平线上有 N 只蚂蚁,每只蚂蚁的位置及大小均不同。他们沿着 X 轴爬行,有的向..

2020-12-04 21:22:50 376

原创 数据结构实验之栈与队列十:走迷宫

Description一个由n * m 个格子组成的迷宫,起点是(1, 1), 终点是(n, m),每次可以向上下左右四个方向任意走一步,并且有些格子是不能走动,求从起点到终点经过每个格子至多一次的走法数。Input 第一行一个整数T 表示有T 组测试数据。(T <= 110)对于每组测试数据:第一行两个整数n, m,表示迷宫有n * m 个格子。(1 <= n, m <= 6, (n, m) !=(1, 1) ) 接下来n 行,每行m 个数。其中第i 行第...

2020-12-02 22:13:50 60

原创 数据结构实验之栈与队列九:行编辑器

Description一个简单的行编辑程序的功能是:接受用户从终端输入的程序或数据,并存入用户的数据区。由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接受一个字符即存入用户数据区”的做法显然不是最恰当的。较好的做法是,设立一个输入缓冲区,用以接受用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。例如,当用户发现刚刚键入的一个字符是错的时,可补进一个退格符"#",以表示前一个字符无效;如果发现当前键入的行内差错较...

2020-12-02 21:51:16 76

原创 数据结构实验之栈与队列八:栈的基本操作

Description堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。Input首先输入整数t(1 <= t <= 10),代表测试的组数,以后是 t 组输入。对于每组测试数据,第一行输入两个正整数m(1 <= m <= 100)、n(1 <= n <= 1000),其中m代表当前栈的最大长度,n代表本组测试下面要输入的操作数。而后的...

2020-11-30 22:02:20 137

原创 数据结构实验之栈与队列七:出栈序列判定

Description给一个初始的入栈序列,其次序即为元素的入栈次序,栈顶元素可以随时出栈,每个元素只能入栈依次。输入一个入栈序列,后面依次输入多个序列,请判断这些序列是否为所给入栈序列合法的出栈序列。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个出栈序列,但4,3,5,1,2就不可能是该序列的出栈序列。假设压入栈的所有数字均不相等。Input第一行输入整数n(1<=n<=10000),表示序列的长度。第二行输入n个整数,表示栈的压入

2020-11-30 21:46:07 261

原创 数据结构实验之栈与队列六:下一较大值(二)

Description对于包含n(1<=n<=100000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output输出有多组,每组之间输出一个空行(最后一组之后没有);每组输出按照本序列元素的顺序,依次逐行输出当前元素及其查找

2020-11-30 14:17:01 52

原创 数据结构实验之栈与队列五:下一较大值(一)

Description对于包含n(1<=n<=1000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output输出有多组,每组之间输出一个空行(最后一组之后没有);每组输出按照本序列元素的顺序,依次逐行输出当前元素及其查找..

2020-11-30 13:44:30 61

原创 数据结构实验之栈与队列三:后缀式求值

Description对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。Input输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。Output求该后缀式所对应的算术表达式的值,并输出之。SampleInput59*684/-3*+#Output57Hint基本操作数都是一位正整数!#define maxSize 1005#include <iostream>#include<b..

2020-11-29 21:33:27 105

原创 数据结构实验之栈与队列二:一般算术表达式转换成后缀式

Description对于一个基于二元运算符的算术表达式,转换为对应的后缀式,并输出之。Input输入一个算术表达式,以‘#’字符作为结束标志。Output输出该表达式转换所得到的后缀式。SampleInputa*b+(c-d/e)*f#Outputab*cde/-f*+#define maxSize 1005#include <iostream>#include<bits/stdc++.h>using namespace ..

2020-11-28 22:22:27 302

原创 A - 数据结构实验之栈与队列一:进制转换

Description输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。Input第一行输入需要转换的十进制非负整数;第二行输入 R。Output输出转换所得的 R 进制数。SampleInput12798Output2377#define maxSize 105#include <iostream>#include<bits/stdc++.h>using namesp..

2020-11-28 21:28:21 217

原创 M - 素数链表

Description我们定义素数链表为元素全部是素数的链表。给定一个初始含有 n 个元素的链表,并给出 q 次删除操作,对于每次操作,你需要判断链表中指定位置上的元素,如果元素存在且不是素数则删除。在所有操作完成后你还需要检查一下最终链表是否是一个素数链表。Input输入数据有多组。第 1 行输入 1 个整数 T (1 <= T <= 25) 表示数据组数。对于每组数据:第 1 行输入 2 个整数 n (1 <= n <= 50000), q (1 &l

2020-11-27 21:46:56 135

原创 寻找关键点

Description现定义关键点为一条链中处于中间位置的节点,例如 1 3 4中,3就是这个整数链中的关键点。现在小玉得到了一个整数链,确保链中的各个数都互不相同且数列中数的个数为奇数。可是,由于小玉的一些特殊要求,她可能会对这个链进行一些特别的操作。操作 1 :给定两个数a和b,每次删除链中值为a和值为b两个节点。 操作 2 :给定两个数a和b,每次在链中值为1的节点后插入a,在链中值为2的节点后插入b。由于小玉特殊的要求,她保证链中肯定会有值为1和2的节点,并且这两个节点永远不会被

2020-11-27 14:33:24 110

原创 K - 移动小球

Description给你n个小球,从左到右编号依次为1,2,3,4,5,6.........n排成一行。现在有以下2种操作:A x y表示把编号为x小球移动到编号为y的小球的左边(和y相邻)。Q x为询问编号为x的小球左边的球号,如果x左边没有小球的话输出"cyk666"。Input第一行输入一个T,表示有T组测试数据。(1<=T<=100)随后每一组测试数据第一行是两个整数N,M,其中N表示球的个数(1 随后有M行询问,第一个字符是操作类型s。当s为'A'时,输入x,y表

2020-11-27 13:55:35 116

原创 数组操作

Description给你一个长度为 n 的数组,并给出如下几种操作:在下标为 a的位置插入一个整数 b,如果其后有元素,则全部后移。例如,数组为 1, 2, 3,在下标为 1 的位置插入 4,则数组变为:1, 4, 2, 3。 删除下标为 a 的元素,如果其后有元素,则全部前移。例如,数组为 1, 2, 3,删除下标为 0的元素,则数组变为:2, 3。 修改下标为 a 的元素的值为 b。 输出整个数组。Input输入数据有多组(数据组数不超过 10),到 EOF 结束。对于每组..

2020-11-26 21:56:10 506

原创 数据结构实验之链表九:双向链表

Description学会了单向链表,我们又多了一种解决问题的能力,单链表利用一个指针就能在内存中找到下一个位置,这是一个不会轻易断裂的链。但单链表有一个弱点——不能回指。比如在链表中有两个节点A,B,他们的关系是B是A的后继,A指向了B,便能轻易经A找到B,但从B却不能找到A。一个简单的想法便能轻易解决这个问题——建立双向链表。在双向链表中,A有一个指针指向了节点B,同时,B又有一个指向A的指针。这样不仅能从链表头节点的位置遍历整个链表所有节点,也能从链表尾节点开始遍历所有节点。对于给定的一列数据,按

2020-11-25 21:48:05 129

原创 G - 数据结构实验之链表七:单链表中重复元素的删除

Description按照数据输入的相反顺序(逆位序)建立一个单链表,并将单链表中重复的元素删除(值相同的元素只保留最后输入的一个)。Input第一行输入元素个数 n (1 <= n <= 15);第二行输入 n 个整数,保证在 int 范围内。Output第一行输出初始链表元素个数;第二行输出按照逆位序所建立的初始链表;第三行输出删除重复元素后的单链表元素个数;第四行输出删除重复元素后的单链表。SampleInput1021 30 14 55 32.

2020-11-25 21:21:46 286

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除