poj3984. 5X5的迷宫
来源:互联网 发布:nginx域名转发 编辑:程序博客网 时间:2024/06/10 00:13
#include <iostream>#include <cstring>#include <queue>#include <fstream>#include <string>#include<stack>using namespace std;struct point{int y;int x;}buf;int direction[4][2]={{1,0},{0,1},{-1,0},{0,-1}};int re[5][5];int map[5][5];int vis[5][5];queue<point>q;stack<point>s;void bfs(){vis[buf.y][buf.x]=1;while(!q.empty()){for(int i=0;i<4;i++){buf.y=q.front().y+direction[i][1];buf.x=q.front().x+direction[i][0];if(0<=buf.x&&buf.x<5&&0<=buf.y&&buf.y<5&& !vis[buf.y][buf.x] &&map[buf.y][buf.x]==0){vis[buf.y][buf.x]=1;re[buf.x][buf.y]=i;q.push(buf);if(buf.x==4&&buf.y==4)break;}}q.pop();if(buf.x==4&&buf.y==4)break;}}int main(){ memset(vis,0,sizeof(vis));for(int i=0;i<5;i++)for(int j=0;j<5;j++)scanf("%d",&map[i][j]);buf.x=0;buf.y=0;q.push(buf);bfs();point nbuf={4,4};s.push(nbuf);while(buf.x!=0||buf.y!=0){nbuf.y=buf.y-direction[re[buf.x][buf.y]][1];nbuf.x=buf.x-direction[re[buf.x][buf.y]][0];s.push(nbuf);buf.y=nbuf.y;buf.x=nbuf.x;}while(!s.empty()){printf("(%d, %d)\n",s.top().y,s.top().x);s.pop();}return 0;}
0 0
- poj3984. 5X5的迷宫
- POJ3984迷宫
- POJ3984 迷宫问题 BFS
- POJ3984 迷宫问题
- HUD--POJ3984 迷宫问题
- POJ3984 迷宫问题 BFS
- poj3984 迷宫问题
- poj3984(迷宫问题)
- poj3984 迷宫问题
- [POJ3984]迷宫问题
- poj3984 迷宫问题(BFS)
- POJ3984 迷宫问题
- POJ3984 迷宫问题【BFS】
- poj3984 迷宫问题
- Poj3984- dfs -迷宫问题
- poj3984迷宫问题(bfs)
- poj3984迷宫问题
- poj3984 迷宫问题
- iOS学习笔记01-APP相关
- 【HowTo ML】分类问题->神经网络入门
- VIM 编辑器的几个快捷键
- oracle11g 在 16核 64g 的pc server上利用hugePages提升性能
- [swift实战入门]手把手教你编写2048(二)
- poj3984. 5X5的迷宫
- Android Studio Error : Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled
- apache ssl 配置
- Fragment与Activity之间的数据传递
- Java嵌入式文档
- 关于ibatis出现AutoResultMap错误的问题
- [Heat]Heat中资源的扩展与加载
- 新的TELNET
- ubuntu虚拟机无法使用 解决办法