【NOI】6264:走出迷宫/ 2.5基本算法之搜索
6264:走出迷宫
- 查看
- 提交
- 统计
- 提问
总时间限制:
1000ms
内存限制:
65536kB
描述
当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单。
假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路。输入
第一行是两个整数n和m(1<=n,m<=100),表示迷宫的行数和列数。
接下来n行,每行一个长为m的字符串,表示整个迷宫的布局。字符'.'表示空地,'#'表示墙,'S'表示起点,'T'表示出口。输出
输出从起点到出口最少需要走的步数。
样例输入
3 3 S#T .#. ...样例输出
6
这道题跟仙岛求药差不多,还简单了,我一会儿就写好了代码,就不用解释了,你可以看一下我写的“宽搜练习——仙岛求药/【NOI】2.5基本算法之搜索 2727:仙岛求药”,我只不过改了一点点就对了:
#include<bits/stdc++.h>
using namespace std;
int front,rear,r,c,dx[4]={0,1,0,-1},dy[4]={1,0,-1,0},q[10010][3],lx,ly,mx,my;
char a[110][110];
void bfs();
int main()
{cin>>r>>c;if(r==0&&c==0)return 0;for(int i=1;i<=r;i++)for(int j=1;j<=c;j++){cin>>a[i][j];if(a[i][j]=='S')lx=i,ly=j;if(a[i][j]=='T')mx=i,my=j;}front=0,rear=1;q[rear][0]=lx,q[rear][1]=ly,q[rear][2]=0;a[lx][ly]=1;bfs();cout<<q[rear][2];return 0;
}
void bfs()
{while(front<rear){front++;for(int i=0;i<4;i++){int xx=q[front][0]+dx[i];int yy=q[front][1]+dy[i];if(xx>=1&&xx<=r&&yy>=1&&yy<=c&&a[xx][yy]!='#'){rear++;q[rear][0]=xx;q[rear][1]=yy;q[rear][2]=q[front][2]+1;a[xx][yy]='#';if(xx==mx&&yy==my)return;}}}
}
【NOI】6264:走出迷宫/ 2.5基本算法之搜索相关推荐
- 信息学奥赛一本通 1254:走出迷宫 | OpenJudge NOI 2.5 6264:走出迷宫
[题目链接] ybt 1254:走出迷宫 OpenJudge NOI 2.5 6264:走出迷宫 [题目考点] 1. 广搜 迷宫问题 [解题思路] 广搜,迷宫问题模板题. 当数据量很小时,用深搜的方法 ...
- NOI题库2.5 6264 走出迷宫
描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路. 输入 第一行 ...
- 【NOI】6264 走出迷宫
描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路. 输入 第一行 ...
- 6264:走出迷宫(DFS和BFS)
描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路. 输入 第一行 ...
- 6264:走出迷宫——BFS
描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路. 输入 第一行 ...
- 6264:走出迷宫 (BFS,板子题)
描述 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单. 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路. 输入 第一行 ...
- POJ 6264:走出迷宫
" Ctrl AC!一起 AC!" 题目:忘题戳这 分析:一道典型的寻路广搜模板题,见博主的往日分析 AC代码: #include<iostream> #include ...
- 搜索4--noi6264:走出迷宫
搜索4--noi6264:走出迷宫 一.心得 可以去看看别人的代码,吸收精华 二.题目 6264:走出迷宫 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 当 ...
- 信息学奥赛一本通(1254:走出迷宫)
1254:走出迷宫 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 9105 通过数: 4245 [题目描述] 当你站在一个迷宫里的时候,往往会被错综复杂的 ...
最新文章
- Cocoapods的安装以及使用(2)
- JAVA不可变List的实现
- 回溯法(深度优先搜索)
- 微信公众号 获得多客服使用权限
- 避免活跃性危险(第十章)
- java五子棋源代码_java 五子棋游戏源码
- $.grep()函数
- 我的内容管理系统(CMS)寻找历程 -- Mambo出鞘,谁与争锋?
- gitlab ci php 构建,GitLab CI的入门搭建
- Windows的图形设备接口(GDI)入门 上篇
- 安装ORK功能包踩坑之路和解决方案
- 学生成绩管理系统设计java_java学生成绩管理系统设计与实现
- 某android广告SDK逆向分析总结
- 利用临时文件恢复PowerPoint(PPT)文件
- 51单片机 (九)定时器
- JavaScript时间日期
- 计算机学硕调剂分数,计算机考研调剂的一些经验
- 蚂蚁金服智能推荐引擎解决方案与实践 1
- NGUI渲染机制——从顶点和UV说起
- java与python交互_Java与Python
热门文章
- display:inline inline-block block
- python怎么实现检验_python实现KMO检验和Bartlett's球形检验
- 怎么把html变成桌面壁纸,怎么把抖音视频设置成桌面 抖音视频设置壁纸教程
- Iterative Answer Prediction with Pointer-Augmented Multimodal Transformers for TextVQA
- 工业以太网交换机在高速公路隧道监控系统
- Canal binlog 日志管理器与GTID简介
- java的格式输入语句是_java输入输出语句是什么
- 帮我在网上搜索一些小强升职记的读书笔记
- 【挑战程序设计竞赛】- 2.2贪心法(硬币最少、区间覆盖、字典序最小、标记最少、木板切割)
- 安卓开发:网络图片下载和显示