题目链接
题目如下:

蒜头君在你的帮助下终于逃出了迷宫,但是蒜头君并没有沉浸于喜悦之中,而是很快的又陷入了思考,从这个迷宫逃出的最少步数是多少呢?

输入格式

第一行输入两个整数 n和 m,表示这是一个 n×m 的迷宫。
接下来的输入一个 n行 m列的迷宫。其中 ‘S’ 表示蒜头君的位置,’*‘表示墙,蒜头君无法通过,’.‘表示路,蒜头君可以通过’.'移动,'T’表示迷宫的出口(蒜头君每次只能移动到四个与他相邻的位置——上,下,左,右)。

输出格式

输出整数,表示蒜头君逃出迷宫的最少步数,如果蒜头君无法逃出迷宫输出 −1。
数据范围
1≤n,m≤10。

Sample Input

3 4
S**.
…*.
***T

Sample Output

-1

Sample Input 2

3 4
S**.

***T

Sample Output 2

5

这是一道搜索题,可以用深度优先搜索解答也可以用广度优先搜索解答。很标准的搜索题。题目要求得到最少步数,我们就更新到达目的地的所需步数,走过的位置需要标记。

代码如下:

#include<iostream>
using namespace std;
struct muban
{int x;int y;int step;
}stu[8000];
char imap[15][15];
int book[15][15];
int next[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
int main()
{int n,m;cin>>n>>m;int stax,stay,endx,endy;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>imap[i][j];if(imap[i][j]=='S'){stax=i;stay=j;}if(imap[i][j]=='T'){endx=i;endy=j;imap[i][j]='.';}}}int head,tail;int tx,ty;head=1;stu[head].x=stax;stu[head].y=stay;stu[head].step=0;book[stax][stay]=1;tail=2;int stepmin=200;while(head<tail){for(int i=0;i<4;i++){tx=stu[head].x+next[i][0];ty=stu[head].y+next[i][1];if(tx>=0&&tx<n&&ty>=0&&ty<m){if(book[tx][ty]==0&&imap[tx][ty]=='.'){stu[tail].x=tx;stu[tail].y=ty;stu[tail].step=stu[head].step+1;book[tx][ty]=1;tail++;}}if(stu[tail-1].x==endx&&stu[tail-1].y==endy){if(stu[tail-1].step<stepmin){stepmin=stu[tail-1].step;}}}head++;}if(stepmin==200)cout<<"-1\n"<<endl;elsecout<<stepmin; return 0;
} 

迷宫(二) 计蒜客--1596相关推荐

  1. 计蒜客:迷宫(二)---bfs

    计蒜客:bfs求解迷宫游戏 题目描述: 蒜头君在你的帮助下终于逃出了迷宫,但是蒜头君并没有沉浸于喜悦之中,而是很快的又陷入了思考,从这个迷宫逃出的最少步数是多少呢? 输入格式 第一行输入两个整数 nn ...

  2. 计蒜客难题题库之二 奇怪的国家 python解答

    计蒜客挑战难题之二 奇怪的国家 python解答 题目: 有一个奇怪的国家,里面的国民对于事情的态度永远只有两面.当两个人遇到一起讨论一个事情的时候--两个持赞同观点的人遇到一起后会对这个事情都继续赞 ...

  3. 计蒜客题解——T1214:鸣人和佐助

    题目相关 题目链接 计蒜客 OJ,https://nanti.jisuanke.com/t/T1214. 题目描述 已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置.地图上的每个位置都可以走到 ...

  4. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析

    新手,欢迎交流,剩下D题不知如何下手,望大佬指教. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析 文章目录 A. 结果填空:计算周长 B. 结果填空:七巧板 C. 结果填空:苹果 ...

  5. 计蒜客2020蓝桥杯大学A组模拟赛题解

    计蒜客2020蓝桥杯大学A组模拟赛题解 蓝桥杯的话,去年拿了C++组的国二.今年报名了新成立的Python组,不知道能不能摸到国一的鱼 模拟赛链接如下: https://www.jisuanke.co ...

  6. 最短路(遍历边)计蒜客—DD坐地铁

    题目: C 城有 n 个站点, m 条双向地铁,每条地铁有一个 companyicompany_icompanyi​表示它的公司,如果连续乘坐同一家公司的地铁只要花 1元钱就好.DD现在想出门找萨摩耶 ...

  7. 12.计蒜客信息学题库:T1702 魔法宝石

    12.计蒜客信息学题库:T1702 魔法宝石 Bessie 去珠宝商店想要买一些魔法宝石.商店里有 n 个宝石,每个宝石的重量为 wi,幸运值为 vi .Bessie 的购物车只能装重量之和不超过 m ...

  8. 计蒜客题解——T1213:拯救行动

    题目相关 题目链接 计蒜客 OJ,https://nanti.jisuanke.com/t/T1213. 题目描述 公主被恶人抓走,被关押在牢房的某个地方.牢房用 N×M(N,M≤200) 的矩阵来表 ...

  9. 计蒜客:密码锁---bfs

    计蒜客:密码锁-bfs 题目描述: 现在一个紧急的任务是打开一个密码锁.密码由四位数字组成,每个数字从1到9进行编号.每次可以对任何一位数字加1或减1.当将9加1时,数字变为1,当1减1时,数字变为9 ...

最新文章

  1. Java动态代理机制
  2. Swift 中 10 个震惊小伙伴的单行代码
  3. 北师大刘嘉:认知神经科学如何打开 AI 黑箱?
  4. SSH基本简介及连接交互过程
  5. 第四篇:mysql管理工具
  6. 恕我直言,IDEA的Debug,你可能只用了10%
  7. 模板:Link Cut Tree(LCT)
  8. java mysql ssl警告_连接到MySQL数据库时有关SSL连接的警告
  9. ContextMenu长按事件
  10. java对象和字符串转换_java中字符串和JSON对象、Bean之间的相互转换
  11. spring boot security ajax_Spring-Boot-应用可视化监控
  12. 揭秘 AWS 基础架构底层运维和构建之道!
  13. 那个清华哈佛双料女学霸, 辞职了
  14. Coverity 代码静态安全扫描工具 : 认识Coverity
  15. 百度Web生态开花结果:Lavas等多项新技术帮助开发者效率提升
  16. Akka学习笔记:Actors介绍
  17. 易观千帆 | 2022年11月银行APP月活跃用户规模盘点
  18. Notepad快捷键Shift+Enter失效,无法启用向前搜索。
  19. LeetCode数据库题目汇总一(附答案)
  20. Opencv之cvtColor

热门文章

  1. delphi xe “[FIREDAC][PHYS][SQLITE] DATABASE IS LOCKED”错误
  2. 教程┊解决使用USB键盘进行游戏后按任意键出现蓝屏的错误
  3. dev/sda1 磁盘满了,导致ubuntu启动显示/dev/sda1: clean, 798946/2621440 files , 1021098/10485248 clocks
  4. BadgeView使用介绍
  5. 24小时 java_Java获取24小时制的时间方法
  6. 用于实时操作系统固件更新开发指南的MediaTek Linkit MT2523开发平台
  7. 服务器2016安装系统教材,Windows Server 2016 正式版安装教程
  8. 制造业如何做好数字化转型
  9. 离散型制造业数字化转型难点与转型方向
  10. AVD安卓模拟器黑屏