![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图
文章平均质量分 58
彡倾灬染|
这个作者很懒,什么都没留下…
展开
-
SDUT数据结构PTA专题(实验六)题解
数据结构与算法A实验六图论7-9 最短路径 (20 分)7-12 Dijkstra算法(模板) (30 分)7-9 最短路径 (20 分)#include<bits/stdc++.h>#define ll long long#define mem(a,b) memset(a,b,sizeof a)#define inf 0x3f3f3f3f#define PII pair<int,int>#define PLL pair<ll,ll>#define x f原创 2021-11-01 17:22:38 · 1762 阅读 · 1 评论 -
AcWing算法基础课----搜索与图论(三) 笔记 (最小生成树 + 二分图)
搜索与图论1. 朴素版prim算法2. Kruskal算法3.染色法判别二分图4.匈牙利算法1. 朴素版prim算法模板:时间复杂度是 O(n2+m), n 表示点数,m 表示边数int n; // n表示点数int g[N][N]; // 邻接矩阵,存储所有边int dist[N]; // 存储其他点到当前最小生成树的距离bool st[N]; // 存储每个点是否已经在生成树中// 如果图不连通,则返回INF(值是0x3f3f3f3f),原创 2021-07-30 17:24:37 · 307 阅读 · 0 评论 -
7-9 红色警报 (25 分)(DFS + 连通分量 / 并查集)
题目链接输入样例:5 40 11 33 00 451 2 0 4 3输出样例:City 1 is lost.City 2 is lost.Red Alert: City 0 is lost!City 4 is lost.City 3 is lost.Game Over.答案:#include <iostream>#include<bits/stdc++.h>#define PII pair<int,int>const int原创 2021-04-08 17:20:44 · 209 阅读 · 0 评论 -
L3-001 凑零钱 (30 分)(DFS)
题目链接韩梅梅喜欢满宇宙到处逛街。现在她逛到了一家火星店里,发现这家店有个特别的规矩:你可以用任何星球的硬币付钱,但是绝不找零,当然也不能欠债。韩梅梅手边有 10^4 枚来自各个星球的硬币,需要请你帮她盘算一下,是否可能精确凑出要付的款额。输入格式:输入第一行给出两个正整数:N(≤10^4)是硬币的总个数,M(≤10 ^2)是韩梅梅要付的款额。第二行给出 N 枚硬币的正整数面值。数字间以空格分隔。输出格式:在一行中输出硬币的面值 V =M。数字间以 1 个空格分隔,行首尾不得有原创 2021-03-24 21:43:19 · 204 阅读 · 0 评论 -
L3-008 喊山 (30 分) (BFS)
题目链接喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。(图文摘自:http://news.xrxxw.com/newsshow-8018.html)一个山头呼喊的声音可以被临近的山头同时听到。题目假设每个山头最多有两个能听到它的临近山头。给定任意一个发原创 2021-03-24 20:17:43 · 230 阅读 · 0 评论 -
K - 老鼠走迷宫(DFS)
Description现在一只老鼠被困在了迷宫里!你需要判断老鼠能否走出迷宫。老鼠只能向上下左右四个方向移动。我们认为只要老鼠走到了迷宫的边界即算走出迷宫。Input第一行输入两个整数 n, m (1⩽n,m⩽100) 表示迷宫地图的尺寸。接下来输入 n 行,每行 m 个字符,表示迷宫地图。其中 M 表示老鼠的位置,* 代表墙壁,. 代表空地。Output如果老鼠可以走出迷宫,则输出一行 Yes,否则输出一行 No。SampleInput4 4*.***..**.M*****原创 2020-11-19 20:15:40 · 439 阅读 · 0 评论 -
N - New Game(DFS+剪枝)
DescriptionNew game是在一个M*M的特殊棋盘(棋盘的第i行都标上了数字i)上进行的新式游戏。给定一个数字N,要求选手把一个棋子从左上角(1,1)移到右下角(M,M),移动时只能往右或往下。要求移动后经过的数字和为N,且拐弯的次数最少。如果对给出的N,选手不能找出移动方案使得经过的数字和为N或找出的路径拐弯次数不是最少,选手就输了。所以,选手一定千方百计要找出满足条件的路径!!Input两个正整数M,N(其中M<=16),数据保证有解。Output最少拐弯数。Sample原创 2020-10-29 11:12:04 · 218 阅读 · 0 评论 -
M - 魔戒(BFS+四维数组)
Description蓝色空间号和万有引力号进入了四维水洼,发现了四维物体–魔戒。这里我们把飞船和魔戒都抽象为四维空间中的一个点,分别标为 “S” 和 “E”。空间中可能存在障碍物,标为 “#”,其他为可以通过的位置。现在他们想要尽快到达魔戒进行探索,你能帮他们算出最小时间是最少吗?我们认为飞船每秒只能沿某个坐标轴方向移动一个单位,且不能越出四维空间。Input输入数据有多组(数据组数不超过 30),到 EOF 结束。每组输入 4 个数 x, y, z, w 代表四维空间的尺寸(1 <=原创 2020-10-29 10:55:44 · 294 阅读 · 0 评论 -
L - 病毒扩散(暴力)
Description2019-ncov的突然出现扰乱了人们的日常生活,它具有极强的传染性,可以快速的在人群中扩散,现在研究人员正在模拟其在人群中的扩散情况.在一个n*m矩阵所示的人群中,*为普通人,#为佩戴口罩的人,@为病毒携带者,已知每秒每位病毒携带者会将病毒传染给相邻八个方向的未戴口罩的普通人。请问 x 秒后会有多少名传染者(初始为第0秒)?Input第一行输入空格分隔的三个数n,m,x代表n行,m列的空间,x秒(n,m<=1000)。接下来n行每行m人如上述所示。Output一个原创 2020-10-28 23:34:55 · 375 阅读 · 0 评论 -
H - 数据结构实验之图论八:欧拉回路(DFS+欧拉图 )
Description在哥尼斯堡的一个公园里,有七座桥将普雷格尔河中两个岛及岛与河岸连接起来。能否走过这样的七座桥,并且每桥只走一次?瑞士数学家欧拉最终解决了这个问题并由此创立了拓扑学。欧拉通过对七桥问题的研究,不仅圆满地回答了哥尼斯堡七桥问题,并证明了更为广泛的有关一笔画的三条结论,人们通常称之为欧拉定理。对于一个连通图,通常把从某结点出发一笔画成所经过的路线叫做欧拉路。人们又通常把一笔画成回到出发点的欧拉路叫做欧拉回路。具有欧拉回路的图叫做欧拉图。你的任务是:对于给定的一组无向图数据,判断其是否成原创 2020-10-28 20:24:15 · 552 阅读 · 0 评论 -
E - 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
Description在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1…n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻击;如果可以的话,最少需要经过多少通道。由于n的值比较大(n<=1000),于是巫妖王找到了擅长编程的原创 2020-10-23 20:46:09 · 106 阅读 · 0 评论 -
D - 数据结构实验之图论四:迷宫探索(DFS)
Description有一个地下迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关;请问如何从某个起点开始在迷宫中点亮所有的灯并回到起点?Input连续T组数据输入,每组数据第一行给出三个正整数,分别表示地下迷宫的结点数N(1 < N <= 1000)、边数M(M <= 3000)和起始结点编号S,随后M行对应M条边,每行给出一对正整数,表示一条边相关联的两个顶点的编号。Output若可以点亮所有结点的灯,则输出从S开始并以S结束的序列,序列中相邻的原创 2020-10-20 09:26:38 · 222 阅读 · 2 评论 -
C - 数据结构实验之图论三:判断可达性(DFS)
Description在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1…n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻击。由于n的值比较大(n<=1000),于是巫妖王找到了擅长编程的你 =_=,请你帮他解决这个问题,否原创 2020-10-20 09:24:41 · 302 阅读 · 0 评论 -
B - 数据结构实验之图论二:图的深度遍历(DFS)
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-10-20 09:22:27 · 245 阅读 · 0 评论 -
A - 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历(BFS)
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-10-20 09:20:06 · 212 阅读 · 0 评论