迷宫找最短路径 深度优先—C
来源:互联网 发布:虚拟机网络连接模式 编辑:程序博客网 时间:2024/05/18 03:26
从迷宫的起点到终点的最短路径,用深度优先搜索
#include<stdio.h>int n,m,p,q,min=99999999;int a[100][100],book[100][100];void dfs(int x,int y,int step){ int tx,ty,k ; int next[4][2]={{0,1},{1,0},{0,-1},{-1,0}}; if(x==p&&y==q) { if(min>step) min=step; return; } for(k=0;k<=3;k++) { tx=x+next[k][0]; ty=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; dfs(tx,ty,step+1); book[tx][ty]=0; } } return;}int main(){ int i,j,startx,starty; 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); book[startx][starty]=1; dfs(startx,starty,0);//步数也带上作为参数 //输出最短步数 printf("%d",min); return 0;}
阅读全文
0 0
- 迷宫找最短路径 深度优先—C
- 迷宫最短路径 深度优先搜索—C—python
- 迷宫路径&广度优先求解&深度优先求解&迷宫游戏
- 深度优先搜索--迷宫可能路径--栈
- 迷宫最短路径 广度优先搜索—C
- 深度优先迷宫求解实例(C)
- [深度优先]求迷宫中包含最多珠宝的路径
- 迷宫深度优先搜索 找出一条可行路径
- 深度优先搜索迷宫路径算法的实现
- 深度优先搜索算法(迷宫最短路径问题)
- 深度优先——迷宫算法
- 深度优先搜索——迷宫
- 走迷宫——深度优先搜索
- C语言深度优先搜索之迷宫(堆栈)
- 深度优先迷宫生成类
- 深度优先搜索生成迷宫
- 迷宫代码:深度优先算法
- 深度优先和广度优先遍历迷宫
- Unity制作游戏中技能使用后转CD的场景
- 将一个本地项目提交到git
- 数据结构 — 希尔排序
- c#一些概念
- svn的cleanup失败的解决方案
- 迷宫找最短路径 深度优先—C
- 使用cookie+工具类实现的 记录显示 用户【浏览商品记录】
- echo等追加到文件末尾
- 数据库的垂直切分和水平切分
- hdu2082母函数
- 第十二届湖南省赛:三角形和矩形
- ReactNative接入支付宝支付
- PHP实现四种基本排序
- Comparison method violates its general contract!