![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
图论_《数据结构》
图的基础
笑着找bug
这个作者很懒,什么都没留下…
展开
-
N - New Game
DescriptionNew game是在一个M*M的特殊棋盘(棋盘的第i行都标上了数字i)上进行的新式游戏。给定一个数字N,要求选手把一个棋子从左上角(1,1)移到右下角(M,M),移动时只能往右或往下。要求移动后经过的数字和为N,且拐弯的次数最少。如果对给出的N,选手不能找出移动方案使得经过的数字和为N或找出的路径拐弯次数不是最少,选手就输了。所以,选手一定千方百计要找出满足条件的路径!!Input两个正整数M,N(其中M<=16),数据保证有解。Output最少拐弯数。Sample原创 2020-11-29 22:15:27 · 148 阅读 · 0 评论 -
M - 魔戒
Description蓝色空间号和万有引力号进入了四维水洼,发现了四维物体–魔戒。这里我们把飞船和魔戒都抽象为四维空间中的一个点,分别标为 “S” 和 “E”。空间中可能存在障碍物,标为 “#”,其他为可以通过的位置。现在他们想要尽快到达魔戒进行探索,你能帮他们算出最小时间是最少吗?我们认为飞船每秒只能沿某个坐标轴方向移动一个单位,且不能越出四维空间。Input输入数据有多组(数据组数不超过 30),到 EOF 结束。每组输入 4 个数 x, y, z, w 代表四维空间的尺寸(1 <=原创 2020-11-29 21:49:55 · 147 阅读 · 0 评论 -
L - 病毒扩散
Description2019-ncov的突然出现扰乱了人们的日常生活,它具有极强的传染性,可以快速的在人群中扩散,现在研究人员正在模拟其在人群中的扩散情况.在一个n*m矩阵所示的人群中,*为普通人,#为佩戴口罩的人,@为病毒携带者,已知每秒每位病毒携带者会将病毒传染给相邻八个方向的未戴口罩的普通人。请问 x 秒后会有多少名传染者(初始为第0秒)?Input第一行输入空格分隔的三个数n,m,x代表n行,m列的空间,x秒(n,m<=1000)。接下来n行每行m人如上述所示。Output一个原创 2020-11-26 19:49:03 · 253 阅读 · 0 评论 -
K - 老鼠走迷宫
Description现在一只老鼠被困在了迷宫里!你需要判断老鼠能否走出迷宫。老鼠只能向上下左右四个方向移动。我们认为只要老鼠走到了迷宫的边界即算走出迷宫。Input第一行输入两个整数 nn, mm (1 \leqslant n, m \leqslant 100)(1⩽n,m⩽100) 表示迷宫地图的尺寸。接下来输入 nn 行,每行 mm 个字符,表示迷宫地图。其中 M 表示老鼠的位置,* 代表墙壁,. 代表空地。Output如果老鼠可以走出迷宫,则输出一行 Yes,否则输出一行 No。Sa原创 2020-11-25 20:05:42 · 332 阅读 · 0 评论 -
J - 数据结构实验之图论十:判断给定图是否存在合法拓扑序列
Description给定一个有向图,判断该有向图是否存在一个合法的拓扑序列。Input输入包含多组,每组格式如下。第一行包含两个整数n,m,分别代表该有向图的顶点数和边数。(n<=10)后面m行每行两个整数a b,表示从a到b有一条有向边。Output若给定有向图存在合法拓扑序列,则输出YES;否则输出NO。SampleInput1 02 21 22 1OutputYESNO#include <iostream>#include <bits/st原创 2020-11-25 19:28:32 · 198 阅读 · 0 评论 -
I - 数据结构实验之图论九:最小生成树
Description有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在任意一城市出发,可以到达其他任意的城市。Input输入包含多组数据,格式如下。第一行包括两个整数n m,代表城市个数和可以修建的公路个数。(n <= 100, m <=10000)剩下m行每行3个非负整数a b c,代表城市a 和城市b之间可以修建一条公路,代价为c(城市编号从1到n)。Output每组输出占一行,仅输出最小花费原创 2020-11-25 17:24:03 · 283 阅读 · 0 评论 -
H - 数据结构实验之图论八:欧拉回路
Description在哥尼斯堡的一个公园里,有七座桥将普雷格尔河中两个岛及岛与河岸连接起来。能否走过这样的七座桥,并且每桥只走一次?瑞士数学家欧拉最终解决了这个问题并由此创立了拓扑学。欧拉通过对七桥问题的研究,不仅圆满地回答了哥尼斯堡七桥问题,并证明了更为广泛的有关一笔画的三条结论,人们通常称之为欧拉定理。对于一个连通图,通常把从某结点出发一笔画成所经过的路线叫做欧拉路。人们又通常把一笔画成回到出发点的欧拉路叫做欧拉回路。具有欧拉回路的图叫做欧拉图。你的任务是:对于给定的一组无向图数据,判断其是否原创 2020-11-25 16:52:45 · 168 阅读 · 0 评论 -
G - 数据结构实验之图论七:驴友计划
Description做为一个资深驴友,小新有一张珍藏的自驾游线路图,图上详细的标注了全国各个城市之间的高速公路距离和公路收费情况,现在请你编写一个程序,找出一条出发地到目的地之间的最短路径,如果有多条路径最短,则输出过路费最少的一条路径。Input连续T组数据输入,每组输入数据的第一行给出四个正整数N,M,s,d,其中N(2 <= N <= 500)是城市数目,城市编号从0~N-1,M是城市间高速公路的条数,s是出发地的城市编号,d是目的地的城市编号;随后M行,每行给出一条高速公路的信息原创 2020-11-23 16:50:37 · 194 阅读 · 0 评论 -
F - 数据结构实验之图论六:村村通公路
Description当前农村公路建设正如火如荼的展开,某乡镇政府决定实现村村通公路,工程师现有各个村落之间的原始道路统计数据表,表中列出了各村之间可以建设公路的若干条道路的成本,你的任务是根据给出的数据表,求使得每个村都有公路连通所需要的最低成本。Input连续多组数据输入,每组数据包括村落数目N(N <= 1000)和可供选择的道路数目M(M <= 3000),随后M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个村庄的编号和修建该道路的预算成本,村庄从1~N编号。O原创 2020-11-25 15:47:39 · 457 阅读 · 0 评论 -
E - 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
Description在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1…n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻击;如果可以的话,最少需要经过多少通道。由于n的值比较大(n<=1000),于是巫妖王找到了擅长编程的原创 2020-11-19 22:13:42 · 153 阅读 · 0 评论 -
D - 数据结构实验之图论四:迷宫探索
Description有一个地下迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关;请问如何从某个起点开始在迷宫中点亮所有的灯并回到起点?Input连续T组数据输入,每组数据第一行给出三个正整数,分别表示地下迷宫的结点数N(1 < N <= 1000)、边数M(M <= 3000)和起始结点编号S,随后M行对应M条边,每行给出一对正整数,表示一条边相关联的两个顶点的编号。Output若可以点亮所有结点的灯,则输出从S开始并以S结束的序列,序列中相邻的原创 2020-11-19 16:03:30 · 241 阅读 · 0 评论 -
C - 数据结构实验之图论三:判断可达性
Description在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1…n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻击。由于n的值比较大(n<=1000),于是巫妖王找到了擅长编程的你 =_=,请你帮他解决这个问题,否原创 2020-11-19 16:05:03 · 374 阅读 · 0 评论 -
B - 数据结构实验之图论二:图的深度遍历
Description请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。Input输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。Output输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示DFS的遍历结果原创 2020-11-19 16:04:52 · 248 阅读 · 0 评论 -
A - 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
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输出有n行,原创 2020-11-19 16:04:40 · 265 阅读 · 0 评论 -
最短路的三种方法——Dijkstra、Floyd、Bellman
以 OJ 2143 题目为例图结构练习——最短路径#include <iostream>#include <bits/stdc++.h>#define inf 0x3f3f3f3fusing namespace std;struct node //用于Bellman的结构体{ int u,v,w;}s[5000010];int head[105];int Map[105][105];int dis[3000010],vis[原创 2020-11-23 16:10:46 · 152 阅读 · 0 评论 -
最短路径_Floyd方法(多源最短路)
图结构练习——最短路径Dijkstra (迪杰斯特拉) 方法Description给定一个带权无向图,求节点1到节点n的最短路径。Input输入包含多组数据,格式如下。第一行包括两个整数n m,代表节点个数和边的个数。(n<=100)剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边,权值为c。Output每组输出占一行,仅输出从1到n的最短路径权值。(保证最短路径存在)SampleInput3 21 2 11 3 11 0Output10#i原创 2020-11-23 16:03:55 · 155 阅读 · 0 评论 -
最短路径_Dijkstra方法(单源最短路)
图结构练习——最短路径Description给定一个带权无向图,求节点1到节点n的最短路径。Input输入包含多组数据,格式如下。第一行包括两个整数n m,代表节点个数和边的个数。(n<=100)剩下m行每行3个正整数a b c,代表节点a和节点b之间有一条边,权值为c。Output每组输出占一行,仅输出从1到n的最短路径权值。(保证最短路径存在)SampleInput3 21 2 11 3 11 0Output10Dijkstra用于求单源最短路#原创 2020-11-23 15:50:19 · 177 阅读 · 0 评论 -
图的基本存储的基本方式三:边集数组
Description解决图论问题,首先就要思考用什么样的方式存储图。但是小鑫却怎么也弄不明白如何存图才能有利于解决问题。你能帮他解决这个问题么?Input多组输入,到文件结尾。每一组第一行有两个数n、m表示n个点,m条有向边。接下来有m行,每行两个数u、v、w代表u到v有一条有向边权值为w。第m+2行有一个数q代表询问次数,接下来q行每行有一个询问,输入一个数为a注意:点的编号为0~n-1,2<=n<=500000 ,0<=m<=500000,0<=q<=50原创 2020-11-19 16:04:30 · 291 阅读 · 0 评论 -
图的基本存储的基本方式二:邻接表(不带权值)
Description解决图论问题,首先就要思考用什么样的方式存储图。但是小鑫却怎么也弄不明白如何存图才能有利于解决问题。你能帮他解决这个问题么?Input多组输入,到文件结尾。每一组第一行有两个数n、m表示n个点,m条有向边。接下来有m行,每行两个数u、v代表u到v有一条有向边。第m+2行有一个数q代表询问次数,接下来q行每行有一个询问,输入两个数为a,b。注意:点的编号为0~n-1,2<=n<=500000 ,0<=m<=500000,0<=q<=50000原创 2020-11-19 16:04:20 · 381 阅读 · 0 评论 -
图的基本存储的基本方式一:邻接矩阵(不带权值)
Description解决图论问题,首先就要思考用什么样的方式存储图。但是小鑫却怎么也弄不明白如何存图才能有利于解决问题。你能帮他解决这个问题么?Input多组输入,到文件结尾。每一组第一行有两个数n、m表示n个点,m条有向边。接下来有m行,每行两个数u、v代表u到v有一条有向边。第m+2行有一个数q代表询问次数,接下来q行每行有一个询问,输入两个数为a,b。注意:点的编号为0~n-1,2<=n<=5000 ,n*(n-1)/2<=m<=n*(n-1),0<=q<原创 2020-11-19 16:04:10 · 459 阅读 · 0 评论