poj3984——迷宫问题(BFS)
来源:互联网 发布:天猫美工和淘宝美工 编辑:程序博客网 时间:2024/06/10 03:59
基础地不能再基础地BFS,记录路径也不是很麻烦
#include <iostream>#include <cstring>#include <string>#include <vector>#include <queue>#include <cstdio>#include <algorithm>#define INF 0x3f3f3f3f#define MAXN 100010using namespace std;int mp[10][10],vis[10][10];int dx[]={0,0,1,-1};int dy[]={1,-1,0,0};struct Node{ int x,y; int stepx[30],stepy[30],cnt;};void bfs(){ Node start; start.x=0,start.y=0,start.cnt=0; queue<Node> q; q.push(start); while(!q.empty()) { Node tmp=q.front(),tmp1; q.pop(); if(tmp.x==4&&tmp.y==4) { printf("(0, 0)\n"); for(int i=0;i<tmp.cnt;++i) printf("(%d, %d)\n",tmp.stepx[i],tmp.stepy[i]); return; } tmp1=tmp; for(int i=0;i<4;++i) { tmp1.x=tmp.x+dx[i]; tmp1.y=tmp.y+dy[i]; if(tmp1.x>=0&&tmp1.x<=4&&tmp1.y>=0&&tmp1.y<=4&&!vis[tmp1.x][tmp1.y]&&mp[tmp1.x][tmp1.y]==0) { vis[tmp1.x][tmp1.y]=1; tmp1.stepx[tmp1.cnt]=tmp1.x; tmp1.stepy[tmp1.cnt++]=tmp1.y; q.push(tmp1); } } }}int main(){ for(int i=0;i<5;++i) for(int j=0;j<5;++j) scanf("%d",&mp[i][j]); memset(vis,0,sizeof(vis)); bfs(); return 0;}
0 0
- poj3984——迷宫问题(BFS)
- 【poj3984】迷宫问题——bfs/栈
- POJ3984 迷宫问题 —— BFS
- poj3984 迷宫问题(BFS)
- POJ3984 迷宫问题(BFS)
- poj3984-迷宫问题(BFS)
- POJ3984 迷宫问题(BFS)
- poj3984(bfs迷宫问题)
- POJ3984 迷宫问题 BFS
- POJ3984 迷宫问题 BFS
- poj3984 迷宫问题(BFS)
- POJ3984 迷宫问题【BFS】
- poj3984迷宫问题(bfs)
- POJ3984 迷宫问题【BFS】
- poj3984 迷宫问题 bfs
- POJ3984 迷宫问题【BFS】
- POJ3984 迷宫问题(BFS)
- poj3984迷宫问题 bfs
- 解决bootstrap-table多次请求只触发一次的问题
- 溢出、上溢、下溢
- dom2和dom0的定义和区别
- Picasso 图片加载
- 获取验证码的定时器
- poj3984——迷宫问题(BFS)
- Docker国内镜像地址和下载安装
- 天道酬勤,自强不息
- Opencv中用进度条调节亮度、对比度
- MYSQL远程登录权限设置
- poj 2104 K-th Number 可持久化线段树
- 准备写下我的大数据学习过程
- vs2010如何引用相对路径
- linux grep命令