
bfs
广度优先遍历
撒浪嘿呦x
我爱学习!
展开
-
搜索与图论 有向图的拓扑序列
有向图的拓扑序列给定一个 n 个点 m 条边的有向图,点的编号是 1 到 n,图中可能存在重边和自环。请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 −1。若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y),x 在 A 中都出现在 y 之前,则称 A 是该图的一个拓扑序列。输入格式第一行包含两个整数 n 和 m。接下来 m 行,每行包含两个整数 x 和 y,表示存在一条从点 x 到点 y 的有向边 (x,y)。输出格式共一行,如果存在拓扑序列,则输出任意一个合原创 2022-02-12 23:19:45 · 152 阅读 · 0 评论 -
搜索与图论 图中点的层次
图中点的层次给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。所有边的长度都是 1,点的编号为 1∼n。请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 −1。输入格式第一行包含两个整数 n 和 m。接下来 m 行,每行包含两个整数 a 和 b,表示存在一条从 a 走到 b 的长度为 1 的边。输出格式输出一个整数,表示 1 号点到 n 号点的最短距离。数据范围1≤n,m≤105输入样例:4 51 22 33 41 31 4原创 2022-02-12 18:48:56 · 517 阅读 · 0 评论 -
[蓝桥杯2019初赛]迷宫
[蓝桥杯2019初赛]迷宫思路下周补全代码:#include<iostream>#include<cstring>#include<algorithm>#include<queue>using namespace std;struct node{ int x; int y; string p;};char a[31][51];int st[31][51];int dx[] = { 1,0,0,-1 }, dy[] = { 0,原创 2021-04-16 12:13:02 · 89 阅读 · 0 评论 -
每日一题 武士风度的牛
武士风度的牛农民John有很多牛,他想交易其中一头被Don称为The Knight的牛。这头牛有一个独一无二的超能力,在农场里像Knight一样地跳(就是我们熟悉的象棋中马的走法)。虽然这头神奇的牛不能跳到树上和石头上,但是它可以在牧场上随意跳,我们把牧场用一个x,y的坐标图来表示。这头神奇的牛像其它牛一样喜欢吃草,给你一张地图,上面标注了The Knight的开始位置,树、灌木、石头以及其它障碍的位置,除此之外还有一捆草。现在你的任务是,确定The Knight要想吃到草,至少需要跳多少次。T原创 2021-03-04 20:41:35 · 406 阅读 · 1 评论 -
每日一题 矩阵距离(多源bfs问题)
矩阵距离给定一个N行M列的01矩阵A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为: dist(A[i][j],A[k][l])=|i−k|+|j−l|输出一个N行M列的整数矩阵B,其中: B[i][j]=min1≤x≤N,1≤y≤M,A[x][y]=1dist(A[i][j],A[x][y])输入格式第一行两个整数n,m。接下来一个N行M列的01矩阵,数字之间没有空格。输出格式一个N行M列的矩阵B,相邻两个整数之间用一个空格原创 2021-02-20 12:35:34 · 473 阅读 · 0 评论 -
每日一题 献给阿尔吉侬的花束(bfs,最短路)
献给阿尔吉侬的花束阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫。今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就在终点放了一块阿尔吉侬最喜欢的奶酪。现在研究员们想知道,如果阿尔吉侬足够聪明,它最少需要多少时间就能吃到奶酪。迷宫用一个 R×C 的字符矩阵来表示。字符 S 表示阿尔吉侬所在的位置,字符 E 表示奶酪所在的位置,字符 # 表示墙壁,字符 . 表示可以通行。阿尔吉侬在 1 个单位时间内可以从当前的位置走到它上下左右四个方向上的任意一个位置,但不能原创 2021-02-19 17:44:58 · 357 阅读 · 0 评论