
dfs
诡秘侍者x
吾尝终日而思矣,不如须臾之所查也。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
红色警报 (25分)
出题人 陈越单位 浙江大学战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以1个空格分隔。在城市信息之后给出被攻占的原创 2022-07-12 21:00:13 · 621 阅读 · 1 评论 -
这是二叉搜索树吗?
出题人 陈越单位 浙江大学一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,其左子树中所有结点的键值小于该结点的键值;其右子树中所有结点的键值大于等于该结点的键值;其左右子树都是二叉搜索树。所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。输入的第一行给出正整数 N(≤1000)。随后一行给出 N 个整数键值,其间以空格分隔。如果输入序列是对一棵二叉搜索树或其镜像进行前原创 2022-07-12 17:13:08 · 320 阅读 · 0 评论 -
树的遍历 分数 25
出题人 陈越单位 浙江大学给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输出样例思路前序遍历:根 左 右中序遍历:左 根 右后序遍历:左 右 根在后序遍历中,从最后往前依次是二叉树相应的根,这个根在中序遍历中左边为左子树,右边为右子树,原创 2022-07-12 16:45:50 · 1384 阅读 · 0 评论 -
玩转二叉树
出题人 陈越单位 浙江大学给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输出样例思路前序遍历:根 左 右中序遍历:左 根 右后序遍历:左 右 根我们先正常原创 2022-07-12 16:32:36 · 584 阅读 · 0 评论 -
完全二叉树的层序遍历
出题人 陈越单位 浙江大学一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树。对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就是完全二叉树。给定一棵完全二叉树的后序遍历,请你给出这棵树的层序遍历结果。输入在第一行中给出正整数 N(≤30),即树中结点个数。第二行给出后序遍历序列,为 N 个不超过 100 的正整数。同一行中所有数字都以空格分隔。在一行中输出该树的层序遍历序列。所有数字都以 1 个空格分隔,行首尾不得有原创 2022-07-12 16:19:34 · 516 阅读 · 0 评论 -
二叉搜索树的2层结点统计
出题人 陈越单位 浙江大学二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树。将一系列数字按给定顺序插入一棵初始为空的二叉搜索树,你的任务是统计结果树中最下面 2 层的结点数。输入在第一行给出一个正整数 N (≤1000),为插入数字的个数。第二行给出 N 个 [−1000,1000] 区间内的整数。数字间以空格分隔。在一行中输出最下面 2原创 2022-07-12 16:13:41 · 739 阅读 · 0 评论 -
L2-2 病毒溯源 (25 分)
出题人:陈越单位:浙江大学病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。输入格式输出格式输入样例103 6 4 80002 5 901 71 202 3 1输出样例40 4 9 1原创 2022-04-21 21:29:02 · 1036 阅读 · 0 评论 -
L3-2 拼题A打卡奖励 (30 分)
出题人:陈越单位:浙江大学拼题 A 的教超搞打卡活动,指定了 N 张打卡卷,第 i 张打卡卷需要 m 分钟做完,完成后可获得 c 枚奖励的金币。活动规定每张打卡卷最多只能做一次,并且不允许提前交卷。活动总时长为 M 分钟。请你算出最多可以赢得多少枚金币?输入格式输出格式在一行中输出最多可以赢得的金币数量。输入样例5 11070 10 20 50 6028 1 6 18 22输出样例40思路dfs暴力破解,得19分动态规划,看了别人的思路:求各个金币数量的最短时间#in原创 2022-04-20 09:29:48 · 630 阅读 · 0 评论 -
L2-3 浪漫侧影 (25 分)
出题人:陈越单位:浙江大学“侧影”就是从左侧或者右侧去观察物体所看到的内容。例如上图中男生的侧影是从他右侧看过去的样子,叫“右视图”;女生的侧影是从她左侧看过去的样子,叫“左视图”。520 这个日子还在打比赛的你,也就抱着一棵二叉树左看看右看看了……我们将二叉树的“侧影”定义为从一侧能看到的所有结点从上到下形成的序列。例如下图这棵二叉树,其右视图就是 { 1, 2, 3, 4, 5 },左视图就是 { 1, 6, 7, 8, 5 }。于是让我们首先通过一棵二叉树的中序遍历序列和后序遍历序列构建原创 2022-04-20 09:13:25 · 322 阅读 · 0 评论 -
L3-3 收集宝物 (30 分)
出题人:DS课程组单位:临沂大学小明有一张藏宝图,上面有n*m个房间,每个房间里面都有一个有一定价值的宝物,小明只能从左上角的房间进入,且每次只能向右或向下行走,最终只能从最右下的房间出来。经过某个房间时,如果该房间中的宝物价值比小明手中任何宝物价值都大,小明就可以拿走它,当然,也可以不拿。当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝物就可以送给小明。请你帮小明算一算,他有多少种不同的行动方案能获得这k件宝贝。输入格式输入第一行3个整数n,m,k(1<=n,m<=50,1<原创 2022-04-19 20:48:39 · 658 阅读 · 0 评论 -
L3-2 城堡问题 (30 分)
图1是一个城堡的地形图。请你编写一个程序,计算城堡一共有多少房间,最大的房间有多大。城堡被分割成m*n(m≤50,n≤50)个方块,每个方块可以有0~4面墙。输入格式程序从标准输入设备读入数据。第一行是两个整数,分别是南北向、东西向的方块数。在接下来的输入行里,每个方块用一个数字(0≤p≤50)描述。用一个数字表示方块周围的墙,1表示西墙,2表示北墙,4表示东墙,8表示南墙。每个方块用代表其周围墙的数字之和表示。城堡的内墙被计算两次,方块(1,1)的南墙同时也是方块(2,1)的北墙。输入的数据保证城堡原创 2022-04-19 20:44:03 · 133 阅读 · 0 评论