问题描述:

给你一个N*M的迷宫,现已知小明的起始坐标和小刚的坐标,请你求小明到小刚的最短距离,迷宫中1表示障碍物,0表示可以走。

样例输入

5 4

0 0 1 0

0 0 0 0

0 0 1 0

0 1 0 0

0 0 0 1

1 1 4 3

样例输出:

7

程序代码:


#include<stdio.h>
int min=99999;
int a[61][61],book[61][61];//在C语言中定义全局变量,如果没有特别说明则默认为0.
int p,q,n,m;//因为终止坐标在函数中也要用到所以要定义为全局变量
void dfs(int x,int y,int step)
{int i,k,tx,ty;int next[4][2]={{0,1},{1,0},{0,-1},{-1,0}};if(x==p&&y==q)//判断此时的坐标是否等于终点的坐标{if(step<min)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,stx,sty;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",&stx,&sty,&p,&q);//输入起始跟终点坐标dfs(stx,sty,0);//一开始步数为零printf("%d",min);return 0;
}

万能搜索——迷宫C语言相关推荐

  1. 手动搜索迷宫游戏 c语言,C语言实现一个走迷宫小游戏(深度优先算法)

    接上一篇万年历博文,还是那位朋友的练习题.这次是使用C语言做一个小游戏程序,三选一(2048.8皇后和迷宫游戏),我选择的是迷宫(文章末尾有程序截图).个人认为这个程序的难点在于迷宫地图的绘制,也就是 ...

  2. Word Maze单词迷宫C语言解法(详细注解)

    Word Maze单词迷宫C语言解法(详细注解) 题目描述 C语言代码 DFS算法 题目描述 Word Maze 是一个网络小游戏,你需要找到以字母标注的食物,但要求以给定单词字母的顺序吃掉.假设给定 ...

  3. 益智java单词游戏_java实现单词搜索迷宫游戏

    本文实例讲述了java实现单词搜索迷宫游戏.分享给大家供大家参考.具体分析如下: 我们在杂志上,经常能够看到找单词的小游戏,在一个二维表格中,存在各种字母,我们可以从八个方向找单词.这个用计算机处理十 ...

  4. 【万能搜索】万能DFS之全排列(一)——普通算法

    DFS相信大家都很熟悉,下面就给出一种用DFS实现的算法. 全排列 大家对于全排列是很熟悉的,比如123的全排列就有: 123 132 213 231 312 321 这六种. 现在,我们来设计一个算 ...

  5. 深度搜索问题c语言,C语言实现的图的深度搜索与广度搜索程序.doc

    C语言实现的图的深度搜索与广度搜索程序 C语言实现的图的深度搜索与广度搜索程序 /* 上机试验5-图的建立和遍历 1)建立[无向][非连通]图的邻接表存储结构,要求顶点个数不少于15个. 2)用DFS ...

  6. 深度搜索迷宫问题(C语言实现)

    算法步骤: 使用一个栈来保存符合要求的点,每次根据栈顶的点的k值(1表示上,2表示右,3表示下,4表示左)依次取下一个点,满足条件则不断循环:若某一个点的四面都不行,则进行出栈回溯.当找到这样一条路径 ...

  7. c语言万能搜索器,非索引搜索工具(CSearcher)

    非索引搜索工具CSearcher是一款支持微软Windows操作系统,免费的.快速的非索引搜索工具.非索引搜索工具CSearcher可以解决Windows系统自带搜索工具搜索速度慢,长时间占用系统资源 ...

  8. 不思议迷宫c语言基础,不思议迷宫神龙收藏品一览

    不思议迷宫神龙收藏品一览是9K9K小编柚子人为大家带来的,七龙珠召唤神龙作为游戏最为迷人的彩蛋之一,召唤神龙拿钻石作为众多玩家的首选目标,但神龙的收藏品你知道多少呢,下面不妨详细了解一下吧. 神龙收藏 ...

  9. c语言课程设计报告之迷宫,C语言课程设计-迷宫游戏

    <C语言课程设计-迷宫游戏>由会员分享,可在线阅读,更多相关<C语言课程设计-迷宫游戏(15页珍藏版)>请在人人文库网上搜索. 1.计算机技术基础课程设计C语言设计报告题目:完 ...

最新文章

  1. 百度发的208亿春晚红包,靠这样的技术送到了你手上 | 解读
  2. 17、计算机图形学——辐射度量学
  3. php的Traits属性以及基本用法
  4. 【小白学PyTorch】3.浅谈Dataset和Dataloader
  5. Windows 10 下 VS2017(+Clion) C/C++ 配置 OpenCV-4.4.0
  6. mysql insert 几分钟_我们可以在MySQL中应用INSERT语句时向VARCHAR日期时间记录添加分钟吗?...
  7. 完整opencv(emgucv)人脸、检测、采集、识别、匹配、对比
  8. java 接口不是不能new吗?- java:使用匿名类直接new接口
  9. 【树链剖分】洛谷树(P3401)
  10. 华为正式发布鸿蒙多久可以用,华为正式发布鸿蒙OS,手机随时能用
  11. 开源代码分析技巧之——打印调用逻辑
  12. php symfony 安装,Symfony4中文文档: 安装和设置Symfony框架
  13. 免授权版傻瓜式建站系统
  14. Spring AMQP 教程
  15. mysql hive 安装 配置_hive 安装配置部署与测试
  16. sc config tlntsvr start=_全新四川方言剧【卓别林SC方言版】来啦!
  17. jar包的概念及作用
  18. 微信小程序全套使用指南
  19. 分数化简通分:最大公约数与最小公倍数
  20. hdu 5294 Tricks Device 最短路建图+最小割

热门文章

  1. mac扩展屏幕做主显示器关闭电脑屏幕,关闭键盘背光
  2. Android 9.0系统源码_广播(一)广播的注册
  3. 微信小程序商城运营指南分享
  4. 阿里需要什么样的人才?
  5. React 类组件和函数组件
  6. HDU 6286 2018
  7. Palm 680磨合使用
  8. WIN7+ubuntu18.04双系统安装流程
  9. SpringBoot+Vue项目打包部署
  10. Python——滑雪游戏