迷宫问题 BFS
来源:互联网 发布:js删除数组中某个元素 编辑:程序博客网 时间:2024/06/07 01:32
#include<stdio.h>typedef struct point{ int x; int y; int b;}POINT;int main(){ int maze[5][5] , book[5][5]= {0}; POINT que[50]; int nx , ny , tx , ty; int head , tail ; int next[4][2]= {0,1,1,0 ,-1,0 ,0,-1 }; int i , j; int flag; head = tail= 0; nx= 4 ; ny= 4 ;book[nx][ny]= 1 ; que[0].x= nx; que[0].y= ny ; que[0].b= -1; flag =0; tail ++; for(i= 0 ; i< 5 ; i++) for(j= 0 ; j< 5 ; j++){ scanf("%d",&maze[i][j]); } while( head< tail ){ for( i= 0 ; i< 4 ; i++){ tx = nx+ next[i][0]; ty = ny+ next[i][1]; if(tx> 4|| tx < 0|| ty > 4|| ty < 0)continue ; if(book[tx][ty]== 1|| maze[tx][ty]== 1)continue ; que[tail].x = tx ; que[tail].y = ty ; que[tail].b = head; tail ++ ;book[tx][ty] =1;// printf("OK %d %d\n",tx,ty); if(tx== 0&& ty == 0) { flag =1; break; } } head ++; nx = que[head].x; ny = que[head].y;// printf("%d %d\n",head,tail); if(flag== 1)break; } tail --; while(tail!= -1){ printf("(%d, %d)\n",que[tail].x,que[tail].y); tail = que[tail].b; }}
// BFS 同步搜索, 由终点到起点入栈 , 链式输出路径;
阅读全文
0 0
- POJ3984 迷宫问题 BFS
- 经典迷宫问题BFS
- 迷宫问题 bfs
- 迷宫问题BFS暴搜
- BFS | 3984 | 迷宫问题
- hncu1102:迷宫问题(BFS)
- POJ3984 迷宫问题 BFS
- poj3984 迷宫问题(BFS)
- 迷宫问题BFS
- 【BFS】迷宫类问题
- 迷宫问题bfs
- POJ3984 迷宫问题【BFS】
- BFS解迷宫问题
- BFS求解迷宫问题
- poj3984迷宫问题(bfs)
- 迷宫问题(BFS)
- POJ3984 迷宫问题【BFS】
- 迷宫问题bfs解决
- 基于自编码器的生成对抗网络AEGAN
- NAND FLASH
- sails.js使用mysql模块搞定事务
- python学习笔记--Dictionary
- Mach异常与Unix信号
- 迷宫问题 BFS
- 浅谈ES6模块基础知识
- 软件开发过程中文档的作用
- Jenkins常用插件之MSBuild Plugin
- CCF 201709-04
- springboot\maven 页面图片展示商品实现分页
- java.lang.NumberFormatException: multiple points已解决
- 关于CAS服务端登录前ajax访问后台方法被拦截的配置
- kafka+spark streaming代码实例(pyspark+python)