迷宫最短路径 广度优先搜索—C
来源:互联网 发布:汽车钥匙套真皮 淘宝 编辑:程序博客网 时间:2024/05/16 06:47
从迷宫的起点到终点的最短路径,用广度优先搜索
#include<stdio.h>struct node{ int x; int y; int s;};int main(){ int i,j,k,startx,starty,tx,ty,flag=0; int n,m,p,q,min=99999999; int a[100][100],book[100][100]; struct node queue[100],t; int head,tail; int next[4][2]={{0,1},{1,0},{0,-1},{-1,0}}; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) for(j=1;j<=m;j++) scanf("%d",&a[i][j]); scanf("%d%d%d%d",&startx,&starty,&p,&q); head=1; tail=1; queue[tail].x=startx; queue[tail].y=starty; queue[tail].s=0; tail++; book[startx][starty]=1; while(head<tail) { t=queue[head]; for(k=0;k<=3;k++) { tx=t.x+next[k][0]; ty=t.y+next[k][1]; if(tx<1||tx>n||ty<1||ty>m) continue; if(a[tx][ty]==0&&book[tx][ty]==0) { book[tx][ty]=1; queue[tail].x=tx; queue[tail].y=ty; queue[tail].s=t.s+1; tail++; } if(tx==p&&ty==q) { flag=1; break; } } if(flag==1) break; head++; } printf("%d",queue[tail-1].s); return 0;}
阅读全文
0 0
- 迷宫最短路径 广度优先搜索—C
- 迷宫最短路径 --- 广度优先搜索(广搜)
- 广度优先搜索迷宫的最短路径走法!
- 迷宫问题(广度优先搜索,输出最短路径)
- 广度优先搜索 《挑战程序设计竞赛》——迷宫的最短路径
- 无权最短路径-广度优先搜索
- 最短路径算法-广度优先搜索
- 无权最短路径-广度优先搜索
- 广度优先搜索 最短路径 队列
- 广度优先搜索之最短路径
- 无权最短路径 广度优先搜索
- 最短路径算法-广度优先搜索
- c语言描述之广度优先搜索——无权最短路径
- (广度优先搜索第一课)迷宫的最短路径 - BFS
- 宽度优先搜索——迷宫的最短路径
- 迷宫最短路径 深度优先搜索—C—python
- 最短路径/广度优先
- 最短路径条数问题 - 广度优先搜索
- 简易解包程序
- 局部变量和全局变量的作用域的首次理解
- idea2017.2普通web工程将lib包导入到artifact中
- MongoDB配置Sharding (负载均衡)
- OpenGL中glBegin()绘制图形GLenum参数的理解
- 迷宫最短路径 广度优先搜索—C
- 数据脱敏——什么是数据脱敏
- 老生常谈 MongoDB---分片简析
- Python2.7 爬虫实践:豆瓣电影影评分析
- Cool Shortcuts
- 更新Python3后,Vim 提示:无法加载Python?
- [python] 命令行解析argparse
- java 打印日志的几种方式
- G