poj3984 输出路径
来源:互联网 发布:unity编程 编辑:程序博客网 时间:2024/06/07 06:58
poj3984 输出路径
第一次做输出路径的搜索题 这道题没有想到一个好办法
手写队列 然后记录前一个在队列中的位置 居然没有想到这个办法
这道题输出路径有多个方法 如在地图中存储每个点的转向 时间效率 和空间效率 都和上面是一样的
#include<cstdio>#include<iostream>#define N 5using namespace std;struct note{ int x,y,pre; //存放坐标,前一个节点在队列中的位置} que[100];int map[N][N];int Nx[4]= {1,-1,0,0};int Ny[4]= {0,0,-1,1};int start=0,end=1; //用que结构体数组模拟一个队列void print(int s){ if(que[s].pre!=-1) { print(que[s].pre); cout<<"("<<que[s].x<<", "<<que[s].y<<")"<<endl; }}void bfsMap(int x,int y){ que[start].pre=-1; que[start].x=x; que[start].y=y; while(start<end) { for(int i=0; i<4; i++) { int a=Nx[i]+que[start].x; int b=Ny[i]+que[start].y; if(a<0 || b<0 || a>=N || b>=N || map[a][b])//如果出界或者遇到墙或者已经被访问 continue; map[a][b]=-1;//设置已经访问过 que[end].pre=start; que[end].x=a; que[end++].y=b; if(a==N-1 && b==N-1) print(start); } start++; }}int main(){ int i,j; for(i=0; i<N; i++) for(j=0; j<N; j++) scanf("%d",&map[i][j]); cout<<"(0, 0)"<<endl; bfsMap(0,0); cout<<"("<<N-1<<", "<<N-1<<")"<<endl; return 0;}
0 0
- POJ3984 BFS 输出路径
- poj3984 输出路径
- poj3984(广搜走迷宫输出路径)
- poj3984--迷宫问题(输出最短路径BF…
- poj3984(BFS)迷宫路径
- poj3984
- poj3984
- POJ3984
- poj3984
- poj3984
- poj3984
- [poj3984]
- poj3984
- POJ3984
- poj3984
- poj3984
- POJ3984
- POJ3984
- 微信小程序入门教程及实例
- 月薪5000生活怎么过
- 求两个字符串a,b中的最长公共子串
- linux之sed使用大全
- 云栖大会之行业大咖们如何玩转直播经济
- poj3984 输出路径
- codevs 3305 水果姐逛水果街Ⅱ 题解报告
- 关于javaFX中的TableView
- opencv3.0 均值 标准差 函数 mean meanStdDev
- 数据库表的操作
- awk与sed 合并多行为一行
- Labview2016安装及破解步骤
- 做好职业规划很重要
- 加分二叉树 noip