描述
当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单。
假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路。

输入
第一行是两个整数n和m(1<=n,m<=100),表示迷宫的行数和列数。
接下来n行,每行一个长为m的字符串,表示整个迷宫的布局。字符’.‘表示空地,’#'表示墙,'S’表示起点,'T’表示出口。
输出
输出从起点到出口最少需要走的步数。
样例输入
3 3
S#T
.#.

样例输出
6
题目链接
思路:BFS板子
代码:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<queue>
#include<iostream>
using namespace std;
struct note
{int x;int y;int f;int s;
};
int nest[4][2]={{0,1},{0,-1},{-1,0},{1,0}};
int sx,sy,ex,ey;
int flag;
int n,m;
const int N=105;
int book[N][N];
char mp[N][N];
queue <note> que;
void bfs()
{int tx,ty;note temp;temp.x=sx;temp.y=sy;temp.s=0;temp.f=0;que.push(temp);book[sx][sy]=1;while(!que.empty()){for(int k=0; k<4; k++){temp=que.front();tx=nest[k][0]+temp.x;ty=temp.y+nest[k][1];if(tx>=1 && tx<=n && ty>=1 && ty<=m && book[tx][ty]==0){if(mp[tx][ty]=='.'){book[tx][ty]=1;temp.x=tx;temp.y=ty;temp.s=temp.s+1;que.push(temp);}if(tx==ex && ty==ey){printf("%d\n",temp.s+1);return;}}}que.pop();}}int main()
{scanf("%d %d",&n,&m);for(int i=1; i<=n; i++){for(int j=1; j<=m; j++){cin>>mp[i][j];if(mp[i][j]=='S'){sx=i;sy=j;}else if(mp[i][j]=='T'){ex=i;ey=j;}}}bfs();return 0;
}

6264:走出迷宫 (BFS,板子题)相关推荐

  1. 6264:走出迷宫——BFS

    描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路. 输入 第一行 ...

  2. 信息学奥赛一本通 1254:走出迷宫 | OpenJudge NOI 2.5 6264:走出迷宫

    [题目链接] ybt 1254:走出迷宫 OpenJudge NOI 2.5 6264:走出迷宫 [题目考点] 1. 广搜 迷宫问题 [解题思路] 广搜,迷宫问题模板题. 当数据量很小时,用深搜的方法 ...

  3. 【NOI】6264:走出迷宫/ 2.5基本算法之搜索

    6264:走出迷宫 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会 ...

  4. NOI题库2.5 6264 走出迷宫

    描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路. 输入 第一行 ...

  5. 6264:走出迷宫(DFS和BFS)

    描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路. 输入 第一行 ...

  6. 【NOI】6264 走出迷宫

    描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路. 输入 第一行 ...

  7. POJ 6264:走出迷宫

    " Ctrl AC!一起 AC!" 题目:忘题戳这 分析:一道典型的寻路广搜模板题,见博主的往日分析 AC代码: #include<iostream> #include ...

  8. 搜索4--noi6264:走出迷宫

    搜索4--noi6264:走出迷宫 一.心得 可以去看看别人的代码,吸收精华 二.题目 6264:走出迷宫 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 当 ...

  9. 信息学奥赛一本通(1254:走出迷宫)

    1254:走出迷宫 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 9105     通过数: 4245 [题目描述] 当你站在一个迷宫里的时候,往往会被错综复杂的 ...

最新文章

  1. 程序员跳槽全攻略——读书笔记
  2. python venv 复制_pythonenv的安装及迁移
  3. Hibernate4一对多关系映射
  4. linux删除git账号密码忘记了,linux清除git账号密码
  5. “像你一样”与海容天天:OPEN国际行为艺术展十周年
  6. SPS:设置访问群体
  7. node.js 初体验(转载)
  8. jquery validate 联动验证
  9. 【算法】排序_快速排序
  10. 你的主机中的软件中止了一个已建立的连接
  11. window 和虚拟机通过tftp实现文件传输
  12. 情感极性:关于中文情感分类的知识
  13. 2020计算机专业保研夏令营面经:中科院计算所网数机试题目
  14. 武汉大学java 期末考试试题_武汉大学java期末考试试题和答案
  15. Java并发基础知识,我用思维导图整理好了
  16. 为什么淘宝京东使用不是每次都需要登录?
  17. 使用存储过程返回结果集
  18. 【NHOI2018】跳伞登山赛
  19. C语言(void *)用法实例
  20. Vuforia的学习(二)Vuforia的安装

热门文章

  1. 迈德威视相机的图像获取
  2. TMM软件测试成熟度模型
  3. 联盟营销者的5个电子邮件营销最佳实践(一)
  4. 简单移动Android客户端,下厨房移动第一站–android客户端
  5. java图片ico_原创 | Java图片处理:ico格式转 PNG/JPG等格式
  6. ENVI_IDL:批量重投影ModisSwath产品(调用二次开发接口)+解析
  7. 写好工作总结的五大要点
  8. proteus三输入与门_数电实验(protues)门电路逻辑功能及测试
  9. 成为一栈式数据服务生态: TiDB 5.0 HTAP 架构设计与成为场景解
  10. 【GitHub】GitHub桌面版(GitHubDesktop)安装加汉化教程