图结构练习——BFS——从起始点到目标点的最短步数
来源:互联网 发布:淘宝付款不发货骗术 编辑:程序博客网 时间:2024/04/28 05:57
题目描述
输入
输出
示例输入
2 11 22 12 1
示例输出
NO1
提示
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
using namespace std;
struct node
{
int data,step;
}v,t;
int mp[1500][1500],vis[1500];
int bfs(int x,int n)
{
queue<struct node>q;
t.step=0;
int i;
t.data=x;
q.push(t);
while(!q.empty())
{
v=q.front();
q.pop();
if(v.data==1)
{
printf("%d\n",v.step);
return 1;
}
for(i=1;i<=n;i++)//一次循环是一层与队列首元素相关的全部元素
{
if(mp[v.data][i]&&!vis[i])//相当于层序遍历,第一层是走一步的全部存入队列1,从第一层,第二层往后依次遍历只要某一层存在v.data=1,到了终点,最短步数就出来了
{
vis[i]=1;
t.data=i;
t.step=v.step+1;
q.push(t);
}
}
}
printf("NO\n");
return 0;
}
int main()
{
int n,m,a,b,i;
while(~scanf("%d%d",&n,&m))
{
memset(mp,0,sizeof(mp));
memset(vis,0,sizeof(vis));
for(i=0;i<=m-1;i++)
{
scanf("%d%d",&a,&b);
mp[a][b]=1;
}
vis[n]=1;
bfs(n,n);
}
return 0;
}
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- photoshop启动提示:$$$/ADMDialog/ifontproblemWarning=解决办法
- 有12个苹果,1只香蕉,分给3个小孩,每个小孩都必须最少分到一个水果,求能分多少种?
- 利用MFC 对话框访问控件的七种方法
- 华为OJ——输入n个整数,输出其中最小的k个
- JavaScript基础
- 图结构练习——BFS——从起始点到目标点的最短步数
- sublime常用插件和常见问题
- MyBatis使用总结
- java基础——Java并发编程:Timer和TimerTask
- |Tyvj|模拟|P1003 越野跑
- iOS流布局UICollectionView系列五——圆环布局的实
- today
- Romantic
- ajax读取json格式数据或者说获取浏览器XHR中数据