一本通
文章平均质量分 76
DURIAN_ROCK
这个作者很懒,什么都没留下…
展开
-
1367:查找二叉树(tree_a)
http://ybt.ssoier.cn:8088/problem_show.php?pid=1367【题目描述】已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为x的结点,并指出是第几个结点。例:如图二叉树的数据文件的数据格式如下:【输入】第一行n为二叉树的结点个树,n≤100;第二行x表示要查找的结点的值;以下第一列数据是各结点的值,第二列数据是左儿子结点编号,第三列数据是右儿子结点编号。【输出】一个数即查找的结点编号。【输入样例】7155 2 312 4 510 0原创 2020-08-31 11:54:42 · 1335 阅读 · 0 评论 -
1363:小球(drop)(树的经典题)
http://ybt.ssoier.cn:8088/problem_show.php?pid=1363【题目描述】许多的小球一个一个的从一棵满二叉树上掉下来组成FBT(Full Binary Tree,满二叉树),每一时间,一个正在下降的球第一个访问的是非叶子节点。然后继续下降时,或者走右子树,或者走左子树,直到访问到叶子节点。决定球运动方向的是每个节点的布尔值。最初,所有的节点都是false,当访问到一个节点时,如果这个节点是false,则这个球把它变成true,然后从左子树走,继续它的旅程。如果节点原创 2020-08-27 21:48:28 · 585 阅读 · 0 评论 -
1340:【例3-5】扩展二叉树(树的经典题)
http://ybt.ssoier.cn:8088/problem_show.php?pid=1340【题目描述】由于先序、中序和后序序列中的任一个都不能唯一确定一棵二叉树,所以对二叉树做如下处理,将二叉树的空结点用·补齐,如图所示。我们把这样处理后的二叉树称为原二叉树的扩展二叉树,扩展二叉树的先序和后序序列能唯一确定其二叉树。现给出扩展二叉树的先序序列,要求输出其中序和后序序列。【输入】扩展二叉树的先序序列。【输出】输出其中序和后序序列。【输入样例】ABD..EF..G..C..原创 2020-08-27 21:20:56 · 596 阅读 · 0 评论 -
1364:二叉树遍历(flist)(树的经典题)
【题目描述】树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。【输入】两行,每行是由字母组成的字符串(一行的每个字符都是唯一的),分别表示二叉树的中序遍历和按层遍历的序列。【输出】一行,表示二叉树的先序序列。【输入样例】DBEACABCDE【输出样例】ABDEC因为前面两篇文章介绍了先序遍历、中序遍历和后序遍历的相关定原创 2020-08-27 20:55:45 · 1808 阅读 · 1 评论 -
1368:对称二叉树(tree_c)(树的经典题)
http://ybt.ssoier.cn:8088/problem_show.php?pid=1368【题目描述】如果二叉树的左右子树的结构是对称的,即两棵子树皆为空,或者皆不空,则称该二叉树是对称的。编程判断给定的二叉树是否对称.例:如下图中的二叉树T1是对称的,T2是不对称的。二叉树用顺序结构给出,若读到#则为空,二叉树T1=ABCDE,T2=ABCD#E,如果二叉树是对称的,输出“Yes”,反之输出“No”。【输入】二叉树用顺序结构给出,若读到#则为空。【输出】如果二叉树是原创 2020-08-26 15:18:20 · 843 阅读 · 0 评论 -
1366:二叉树输出(btout)(树的经典题)
http://ybt.ssoier.cn:8088/problem_show.php?pid=1366【题目描述】树的凹入表示法主要用于树的屏幕或打印输出,其表示的基本思想是兄弟间等长,一个结点的长度要不小于其子结点的长度。二叉树也可以这样表示,假设叶结点的长度为1,一个非叶结点的长度等于它的左右子树的长度之和。一棵二叉树的一个结点用一个字母表示(无重复),输出时从根结点开始:每行输出若干个结点字符(相同字符的个数等于该结点长度),如果该结点有左子树就递归输出左子树;如果该结点有右子树就原创 2020-08-25 16:48:32 · 1182 阅读 · 0 评论 -
1339:【例3-4】求后序遍历(树的经典题)
【题目描述】输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。【输入】共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示。【输出】一行,表示树的后序遍历序列。【输入样例】abdecdbeac【输出样例】debca这是一道已知先序和中序,求后序的程序。我将用递归的方法来讲解这一道题。刷到现在,发现做题是一件及其有意思的一件事。我希望把这种快乐传递给更多的人,哈哈哈哈哈。1.了解先序、中序和后序遍历的访问顺序;先序遍原创 2020-08-23 16:55:01 · 2071 阅读 · 1 评论 -
1336:【例3-1】找树根和孩子(数据结构中的树)(树的经典题)
【题目描述】给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子。【输入】第一行:n(结点个数≤100),m(边数≤200)。以下m行:每行两个结点x和y,表示y是x的孩子(x,y≤1000)。【输出】第一行:树根:root;第二行:孩子最多的结点max;第三行:max的孩子(按编号由小到输出)。【输入样例】8 74 14 21 31 52 62 72 8【输出样例】42 6 7 8本题用数组实现“父亲表示法”。基于此,找出树根、孩子最多原创 2020-08-20 13:46:55 · 923 阅读 · 0 评论 -
1253:抓住那头牛
【题目描述】农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0≤N≤100000),牛位于点K(0≤K≤100000)。农夫有两种移动方式:1、从X移动到X−1或X+1,每次移动花费一分钟2、从X移动到2×X,每次移动花费一分钟假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?【输入】两个整数,N和K。【输出】一个整数,农夫抓到牛所要花费的最小分钟数。【输入样例】5 17【输出样例】4这是一道广搜题,一开始就没有什么思原创 2020-08-12 16:13:58 · 1606 阅读 · 0 评论 -
1215:迷宫
【题目描述】一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态,.和#,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。如果起点或者终点有一个不能通行(为#),则看成无法办到。【输入】第1行是测试数据的组数k,后面跟着k组输入。每组测试数据的第1行是一个正整数n (1 ≤ n ≤ 10原创 2020-08-06 19:40:41 · 253 阅读 · 0 评论 -
1214:八皇后
【题目描述】会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 × 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2…b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。给出一个数b,要求输出第b个串。串的比较是这样的:皇后串x置于皇后串y之前,当且仅当将x视为整数时比y小。【输入】第1行是测试数据的组数n原创 2020-08-06 16:40:40 · 552 阅读 · 0 评论 -
1433:【例题1】愤怒的牛
【题目描述】农夫 John 建造了一座很长的畜栏,它包括N(2≤N≤100,000)个隔间,这些小隔间依次编号为x1,...,xN(0≤xi≤1,000,000,000). 但是,John的C(2≤C≤N)头牛们并不喜欢这种布局,而且几头牛放在一个隔间里,他们就要发生争斗。为了不让牛互相伤害。John决定自己给牛分配隔间,使任意两头牛之间的最小距离尽可能的大,那么,这个最大的最小距离是什么呢【输入】第一行:空格分隔的两个整数N和C;第二行---第N+1行:i+1行指出了xi的位置。【输出】原创 2020-07-02 21:55:36 · 445 阅读 · 0 评论 -
1171:大整数的因子
http://ybt.ssoier.cn:8088/problem_show.php?pid=11711171:大整数的因子时间限制: 1000 ms 内存限制: 65536 KB提交数: 5610 通过数: 3261【题目描述】已知正整数k满足2≤k≤9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。【输入】一个非负整数c,c的位数≤30。【输出】若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样原创 2020-05-18 20:24:55 · 374 阅读 · 0 评论 -
1250:The Castle
http://ybt.ssoier.cn:8088/problem_show.php?pid=12501250:The Castle时间限制: 1000 ms 内存限制: 65536 KB提交数: 3440 通过数: 1785【题目描述】一座城堡被分成m*n个方块(m≤50,n≤50),每个方块可有0~4堵墙(0表示无墙)。下面示出了建筑平面图:图中的加粗黑线代表墙。几个连通的方块组成房间,房间与房间之间一定是用黑线(墙)隔开的。现在要求你编一个程序,解决以下2个问题:原创 2020-05-18 19:43:16 · 235 阅读 · 0 评论 -
1324:【例6.6】整数区间
http://ybt.ssoier.cn:8088/problem_show.php?pid=1324【题目描述】请编程完成以下任务:1.读取闭区间的个数及它们的描述;2.找到一个含元素个数最少的集合,使得对于每一个区间,都至少有一个整数属于该集合,输出该集合的元素个数。【输入】首行包括区间的数目n,1≤n≤10000,接下来的n行,每行包括两个整数a,b,被一空格隔开,0≤a≤b≤1...原创 2020-04-22 16:57:55 · 440 阅读 · 0 评论 -
1221:分成互质组
http://ybt.ssoier.cn:8088/problem_show.php?pid=1221【题目描述】给定n个正整数,将它们分组,使得每组中任意两个数互质。至少要分成多少个组?【输入】第一行是一个正整数n。1 ≤ n ≤ 10。第二行是n个不大于10000的正整数。【输出】一个正整数,即最少需要的组数。【输入样例】614 20 33 117 143 175【输出样...原创 2020-04-22 10:14:07 · 268 阅读 · 1 评论 -
1222:放苹果
【题目描述】把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。【输入】第一行是测试数据的数目t(0 ≤ t ≤ 20)。以下每行均包含二个整数M和N,以空格分开。1≤M,N≤10。【输出】对输入的每组数据M和N,用一行输出相应的K。【输入样例】17 3【输出样例】8采用递归的方法#inclu...原创 2020-04-22 08:57:08 · 358 阅读 · 0 评论 -
1219:马走日
【题目描述】马在中国象棋以日字形规则移动。请编写一段程序,给定n×m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。【输入】第一行为整数T(T < 10),表示测试数据组数。每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y。(0≤x≤n-1,0≤y≤m-1, m < 10, n...原创 2020-03-16 21:02:15 · 204 阅读 · 2 评论 -
1217:棋盘问题
【题目描述】在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放 k 个棋子的所有可行的摆放方案 C。【输入】输入含有多组测试数据。每组数据的第一行是两个正整数n,k,用一个空格隔开,表示了将在一个n×n的矩阵内描述棋盘,以及摆放棋子的数目。(n≤8,k≤n)当为−1−1时...原创 2020-03-16 16:25:00 · 163 阅读 · 0 评论 -
1218:取石子游戏
【题目描述】有两堆石子,两个人轮流去取。每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍,最后谁能够把一堆石子取空谁就算赢。比如初始的时候两堆石子的数目是25和7。25 7 --> 11 7 --> 4 7 --> 4 3 --> 1 3 --> 1 0选手1取 选手2取 选手1取 选手2取 选手1取最后选手1(先...原创 2020-03-15 20:41:50 · 239 阅读 · 0 评论 -
1212:LETTERS
【题目描述】给出一个roe×col的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母。问最多可以经过几个字母。【输入】第一行,输入字母矩阵行数R和列数S,1≤R,S≤20。接着输出R行S列字母矩阵。【输出】最多能走过的不同字母的个数。【输入样例】3 6HFDFFBAJHGDHDGAGEH【输出样例】6本题因为只能走上下左右方向...原创 2020-03-15 16:30:40 · 141 阅读 · 0 评论 -
1317:【例5.2】组合的输出
【题目描述】排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你用递归的方法输出所有组合。例如n=5,r=3,所有组合为:1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5【输...原创 2020-03-13 21:41:38 · 1349 阅读 · 0 评论 -
1228:书架
【题目描述】John最近买了一个书架用来存放奶牛养殖书籍,但书架很快被存满了,只剩最顶层有空余。John共有N头奶牛(1≤N≤20,000),每头奶牛有自己的高度Hi(1≤Hi≤10,000),N头奶牛的总高度为S。书架高度为B(1≤B≤S<2,000,000,007)。为了到达书架顶层,奶牛可以踩着其他奶牛的背,像叠罗汉一样,直到他们的总高度不低于书架高度。当然若奶牛越多则危险性越大...原创 2020-03-12 11:28:51 · 172 阅读 · 0 评论 -
1140:验证子串
http://ybt.ssoier.cn:8088/problem_show.php?pid=1140【题目描述】输入两个字符串,验证其中一个串是否为另一个串的子串。【输入】输入两个字符串, 每个字符串占一行,长度不超过200且不含空格。【输出】若第一个串s1是第二个串s2的子串,则输出(s1) is substring of (s2)否则,若第二个串s2是第一个串s1的子串,输出(...原创 2020-02-29 20:28:03 · 446 阅读 · 0 评论 -
【08NOIP普及组】排座椅
【题目描述】上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的DD对同学上课时会交头接耳。同学们在教室中坐成了MM行NN列,坐在第ii行第jj列的同学的位置是(i,ji,j),为了方便同学们进出,在教室中设置了KK条横向的通道,LL条纵向的通道。于是,聪明的小雪想到了一个办法,或许可以减少...原创 2020-02-10 16:53:36 · 517 阅读 · 0 评论 -
1063:最大跨度值
【题目描述】给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。【输入】一共2行,第一行为序列的个数n(1 ≤ n ≤ 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。【输出】输出一行,表示序列的最大跨度值。【输入样例】63 0 8 7 5 9【输出样例】9#include<bits/stdc++....原创 2020-02-10 11:04:43 · 510 阅读 · 0 评论 -
1309:【例1.6】回文数(Noip1999)
【题目描述】若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。又如,对于10进制数87,STEP1: 87+78= 165 STEP2: 165+561= 726STEP3: 726+627=1353 STEP4:1353+3531=4884在这里的一步是指进行了...原创 2020-02-09 13:46:08 · 524 阅读 · 0 评论 -
1408:素数回文数的个数
【题目描述】求11到n之间(包括n),既是素数又是回文数的整数有多少个。【输入】一个大于11小于1000的整数n。【输出】11到n之间的素数回文数个数。【输入样例】23【输出样例】1【提示】提示:回文数指左右对称的数,如:292,333。#include<bits/stdc++.h>using namespace std;#define N 100005...原创 2020-02-09 12:54:34 · 2191 阅读 · 0 评论