深搜迷宫模板
来源:互联网 发布:淘宝炉石 编辑:程序博客网 时间:2024/05/30 22:43
深搜走迷宫
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int map[102][102],m,n;int x1,y1,x3,y3;int dis[4][2]= {1,0,0,1,-1,0,0,-1}; //方向数组,总共有四个方向int e;//仅储存,因题而异,可以没有。bool the;int vis[6][6];//记录这个点遍历过没有struct point{ int i,j,t;};//有三个属性,前两个是坐标,第三个时到达这个点的时间。point markway[1000];//记录途经点,最后输出用void dfs(int y,int x){ int i; point rear; for(i=0; i<4; i++) { rear.i=y+dis[i][0]; rear.j=x+dis[i][1]; if(rear.i>=1&&rear.j>=1&&rear.i<=m&&rear.j<=n) { if(map[rear.i][rear.j]!=0&&!vis[rear.i][rear.j]) { e++; markway[e]=rear; markway[e].t=markway[e-1].t+1; vis[rear.i][rear.j]=1; if(y==y3&&x==x3) { return ; } dfs(rear.i,rear.j); //vis[rear.i][rear.j]=0; } } } return;}int main(){ int i,j; char a; while(~scanf("%d%d",&m,&n)) { getchar(); for(i=1; i<=m; i++) { for(j=1; j<=n; j++) { scanf("%c",&a); if(a=='0') map[i][j]=0;//墙 if(a=='2') { map[i][j]=2;//起点 y1=i; x1=j; } if(a=='1') map[i][j]=1;//路 if(a=='3') { map[i][j]=3;//终点 y3=i; x3=j; } } getchar(); } the=0; memset(vis,0,sizeof(vis)); vis[1][1]=1; dfs(y1,x1); for(i=1; i<=e; i++) printf("(%d,%d)=%d ",markway[i].i,markway[i].j,markway[i].t); } return 0;}/**5 52101111010011111001131111*/
1 0
- 深搜迷宫模板
- 迷宫模板(刘汝佳书)
- hdu1269 迷宫城堡 (模板)
- dfs迷宫问题模板
- bfs迷宫问题模板
- 深搜迷宫
- 深搜解决迷宫问题
- 深搜例题(迷宫)
- 【tarjan模板】HDU 1269 迷宫城堡
- 迷宫城堡 - HDU 1269 Tarjan 模板题
- BFS 模板 【迷宫的最短路径】
- 解救人质 BFS模板(迷宫问题)
- 【BFS】一道经典的迷宫模板问题
- HDU1269迷宫城堡(Tarjan模板题)
- hdu 1269 迷宫城堡 tarjan模板
- hdu1269迷宫城堡(tarjan模板)
- 迷宫求解之深搜&广搜
- 迷宫广搜
- cocos-js http网络请求XMLHttpRequest
- 【年中总结】--得到的来之不易,却都理所当然
- CDH5.7快速离线安装教程
- 构造方法
- 数据类型
- 深搜迷宫模板
- 循环buffer的一种实现
- Vijos P1913 螺旋矩阵(模拟)
- 大数据IMF传奇行动绝密课程第47课:Spark性能优化第三季
- heap消耗(-xms设置大小决定),GC频繁,GC overheadlimit exceeded解决办法
- 使用信号量机制同步线程
- NOIP2015信息传递 强连通分量 tarjan
- 51nod 1264 线段相交(叉积)
- 浏览器同源策略与跨域请求的实现方法