#include <cstdio>
#include <iostream>
#include <queue>
using namespace std;
int vis[10][10];
int maze[10][10];
int dir[2][2] = {{1,0},{0,1}};
struct node{
int x, y;
};
node q[10][10];
void bfs()
{
queue<node> Q;
vis[0][0] = 1;
node a;
a.x = a.y = 0;
Q.push(a);
while( !Q.empty() ) {
node t = Q.front();
Q.pop();
if( t.x == 4 && t.y == 4 ) {
break;
}
for(int i=0; i<2; i++) {
node tt;
tt.x = t.x + dir[i][0];
tt.y = t.y + dir[i][1];
if( !maze[tt.x][tt.y] && tt.x>=0 && tt.x<5 && tt.y>=0 && tt.y<5 && !vis[tt.x][tt.y] ) {
q[tt.x][tt.y].x = t.x;
q[tt.x][tt.y].y = t.y;
vis[tt.x][tt.y] = 1;
Q.push(tt);
}
}
}
}
void pri(int sx, int sy) {
if( sx==0 && sy==0 ) {
printf("(%d, %d)\n", sx, sy);
return ;
}
pri(q[sx][sy].x, q[sx][sy].y);
printf("(%d, %d)\n", sx, sy);
}
int main()
{
// freopen("1.txt", "r", stdin);
for(int i=0; i<5; i++)
for(int j=0; j<5; ++j)
scanf("%d", &maze[i][j]);
bfs();
pri(4,4);
return 0;
}
BFS(简单路径打印)
原文作者:BFS
原文地址: https://blog.csdn.net/huziyang9/article/details/47400701
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/huziyang9/article/details/47400701
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。