poj 3984:迷宫问题
来源:互联网 发布:用友软件t3普及版 编辑:程序博客网 时间:2024/06/05 03:32
简单的走迷宫问题。给定一个5*5的迷宫,以0表示通路,以1表示墙,保证有唯一通路,求该通路。
直接bfs,没什么好说的。
#include <cstdio>#include <cstring>#include <stack>#include <queue>#include <iostream>using namespace std;typedef struct coordinate{int x,y;int pre_x,pre_y;}co;bool maze[10][10];co path[10][10];queue <co> que;stack <co> way;int main(){co z={0,0,-1,-1};que.push(z);path[0][0]=z;memset(maze,0,sizeof(maze));for(int i=0;i<5;i++){for(int j=0;j<5;j++){int xx;cin>>xx;if(xx==1) maze[i][j]=1;}}while(!que.empty()){z=que.front();que.pop();maze[z.x][z.y]=1;if(z.x==4 && z.y==4){way.push(z);break;}if(z.x+1>=0 && z.x+1<=4 && !maze[z.x+1][z.y]){path[z.x+1][z.y].x=z.x+1;path[z.x+1][z.y].y=z.y;path[z.x+1][z.y].pre_x=z.x;path[z.x+1][z.y].pre_y=z.y;que.push(path[z.x+1][z.y]);}if(z.x-1>=0 && z.x-1<=4 && !maze[z.x-1][z.y]){path[z.x-1][z.y].x=z.x-1;path[z.x-1][z.y].y=z.y;path[z.x-1][z.y].pre_x=z.x;path[z.x-1][z.y].pre_y=z.y;que.push(path[z.x-1][z.y]);}if(z.y+1>=0 && z.y+1<=4 && !maze[z.x][z.y+1]){path[z.x][z.y+1].x=z.x;path[z.x][z.y+1].y=z.y+1;path[z.x][z.y+1].pre_x=z.x;path[z.x][z.y+1].pre_y=z.y;que.push(path[z.x][z.y+1]);}if(z.y-1>=0 && z.y-1<=4 && !maze[z.x][z.y-1]){path[z.x][z.y-1].x=z.x;path[z.x][z.y-1].y=z.y-1;path[z.x][z.y-1].pre_x=z.x;path[z.x][z.y-1].pre_y=z.y;que.push(path[z.x][z.y-1]);}}co a;for(a=way.top();a.pre_x!=-1 && a.pre_y!=-1;way.push(a)){a=path[a.pre_x][a.pre_y];}for(;!way.empty();way.pop()){printf("(%d, %d)\n",way.top().x,way.top().y);}return 0;}
0 0
- poj 3984 迷宫问题
- poj 3984 迷宫问题
- POJ-3984-迷宫问题
- Poj 3984 迷宫问题
- 迷宫问题 poj 3984
- poj 3984迷宫问题
- poj 3984 迷宫问题
- POJ-3984-迷宫问题
- poj 3984- 迷宫问题
- POJ 3984 迷宫问题
- poj 3984 迷宫问题
- poj 3984:迷宫问题
- POJ-3984-迷宫问题
- POJ 3984 迷宫问题
- poj 3984迷宫问题
- POJ 3984 迷宫问题
- POJ 3984 迷宫问题
- poj 3984 迷宫问题
- 第一个星期实习的领悟,和项目经理的沟通非常重要
- PAT 1055. The World's Richest
- TextView属性大全
- Enable or Disable Wscript.Shell, FSO, stream
- 菜鸟的Java学习经历
- poj 3984:迷宫问题
- 【LINUX】linux bond配置步骤,七种bond模式说明
- 用PHP调用PHPmailer在Dreamweaver+xampp环境下实现邮件收发功能
- 求最长反序子串的java程序
- 代码块
- 网络流DINIC 递归版模版
- Spring之ContextLoaderListener的作用
- 关于int和Integer比较的问题
- 平板N710无限重启解决办法——包括恢复出厂设置的办法