sdut2139图结构练习——BFS——从起始点到目标点的最短步数
2012-07-11 16:15
381 查看
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2139
BFS 借助队列 将节点的邻接点依次存入队中
View Code
BFS 借助队列 将节点的邻接点依次存入队中
View Code
#include <stdio.h> #include <stdlib.h> #include<string.h> int k[1001][1001],f[1001],n,m,p = 0,w; typedef struct node { int num,y; }st; st q[1001]; void inque(int x) { p++; q[p].y = x; f[x] = 1; } int main() { int i,j,a,b; while(scanf("%d%d", &n, &m)!=EOF) { memset(k,0,sizeof(k)); memset(f,0,sizeof(f)); memset(q,0,sizeof(q)); p = 0; int flag = 0; for(i = 1 ; i <= m ; i++) { scanf("%d%d", &a, &b); k[a][b] = 1; } inque(n); q[p].num = 0; w = 0; do { w++; for(i = 1 ; i <= n ; i++) { if(k[q[w].y][i] == 1&&f[i] == 0) { inque(i); q[p].num = q[w].num+1; if(i == 1) { flag = 1; break; } } } if(flag == 1) break; }while(p!=w); if(flag == 1) printf("%d\n",q[p].num); else printf("NO\n"); } return 0; }
相关文章推荐
- SDUT 2139 图结构练习——BFS——从起始点到目标点的最短步数
- SDUT 2139 图结构练习——BFS——从起始点到目标点的最短步数(BFS+VECTOR)
- SDUT2139图结构练习——BFS——从起始点到目标点的最短步数
- SDUT 2139 图结构练习——BFS——从起始点到目标点的最短步数
- SDUT2139图结构练习——BFS——从起始点到目标点的最短步数
- [SDUT](2139)图结构练习——BFS——从起始点到目标点的最短步数 ---BFS(图)
- SDUT2139图结构练习——BFS——从起始点到目标点的最短步数
- SDUT 2139 图结构练习——BFS——从起始点到目标点的最短步数
- SDUT OJ 2139 图结构练习——BFS——从起始点到目标点的最短步数
- sdut acm 图结构练习——BFS——从起始点到目标点的最短步数
- 2139图结构练习——BFS——从起始点到目标点的最短步数
- SDUT-图结构练习——BFS——从起始点到目标点的最短步数
- OJ2139图结构练习——BFS——从起始点到目标点的最短步数(广搜的步数)
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- SDUT—2139(图结构练习——BFS——从起始点到目标点的最短步数)
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数
- 图结构练习——BFS——从起始点到目标点的最短步数(邻接矩阵+BFS)