P2360 地下城主(BFS)
感觉这道题还是蛮简单的,不过使使用了4个队列(其实只是一个)emmmmm,还是很好的
#include<iostream>
#include<string>
#include<queue>
using namespace std;
const int e[][]={{-, , },{, -, }, {, , -}, {, , }, {, , }, {, , }};
char a[][][];
string st;
queue<int>ql, qr, qc, qs;
int L, R, C, l, r, c; int main(){
cin>>L>>R>>C;
for(int i=;i<=L;++i){
for(int j=;j<=R;++j){
cin>>st;
for(int k=;k<st.size();++k){
a[i][j][k+]=st[k];
if(st[k]=='S') //如果是起点
{
ql.push(i); qr.push(j); qc.push(k+); qs.push();
//初始化所有队列,初始化为出发点
}
}
}
}
while(!qs.empty()){
for(int i=;i<;++i){
l=ql.front()+e[i][];
r=qr.front()+e[i][];
c=qc.front()+e[i][] ;
if(a[l][r][c]=='E'){
cout<<"Escaped in "<<qs.front()+<<" minute(s)."<<endl;
return ;
}else if(a[l][r][c]=='.'){
ql.push(l); qr.push(r); qc.push(c); qs.push(qs.front()+);
a[l][r][c]='#'; //剪枝
}
}
ql.pop(); qr.pop(); qc.pop(); qs.pop();
}
cout<<"Trapped!"<<endl;
}
P2360 地下城主(BFS)的更多相关文章
- 洛谷 P2360 地下城主
P2360 地下城主 题目描述 你参加了一项秘密任务,在任务过程中你被困在了一个3D的地下监狱里面,任务是计时的,你现在需要在最短的时间里面从地牢里面逃出来继续你的任务.地牢由若干层组成,每一层的形状 ...
- python练手项目
文本操作 逆转字符串--输入一个字符串,将其逆转并输出. 拉丁猪文字游戏--这是一个英语语言游戏.基本规则是将一个英语单词的第一个辅音音素的字母移动到词尾并且加上后缀-ay(譬如"banan ...
- 远程获得乐趣的 Linux 命令
今天是我们为期 24 天的 Linux 命令行玩具日历的最后一天.希望你一直有在看,但如果没有,请从头开始,继续努力.你会发现 Linux 终端有很多游戏.消遣和奇怪之处. 虽然你之前可能已经看过我们 ...
- (22)Python练习项目集
文本操作 逆转字符串——输入一个字符串,将其逆转并输出. 拉丁猪文字游戏——这是一个英语语言游戏.基本规则是将一个英语单词的第一个辅音音素的字母移动到词尾并且加上后缀-ay(譬如“banana”会变成 ...
- 地下迷宫(bfs输出路径)
题解:开一个pre数组用编号代替当前位置,编号用结构题另存,其实也可以i*m+j来代替,我写的有点麻烦了; 代码: #include <iostream> #include <cst ...
- ZJUT 1423 地下迷宫(期望DP&高斯消元)
地下迷宫 Time Limit:1000MS Memory Limit:32768K Description: 由于山体滑坡,DK被困在了地下蜘蛛王国迷宫.为了抢在DH之前来到TFT,DK必须尽快走 ...
- L2-031 深入虎穴(BFS)
著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报.已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门.每一扇门背后或者是一个房间,或者又有很多条路,同样是每条 ...
- 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)
图的遍历的定义: 从图的某个顶点出发访问遍图中所有顶点,且每个顶点仅被访问一次.(连通图与非连通图) 深度优先遍历(DFS): 1.访问指定的起始顶点: 2.若当前访问的顶点的邻接顶点有未被访问的,则 ...
- 【BZOJ-1656】The Grove 树木 BFS + 射线法
1656: [Usaco2006 Jan] The Grove 树木 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 186 Solved: 118[Su ...
随机推荐
- Ubuntu创建新用户的正确姿势
作者按:因为教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步<Ubuntu 创建新用户的正确姿势>原文地址.更欢迎来我的小站看更多原创内容:godbmw.com,进行&q ...
- 虚拟机与Docker有何不同?
译者按: 各种虚拟机技术开启了云计算时代:而Docker,作为下一代虚拟化技术,正在改变我们开发.测试.部署应用的方式.那虚拟机与Docker究竟有何不同呢? 原文: Comparing Virtua ...
- JS怎样实现图片的懒加载以及jquery.lazyload.js的使用
在项目中有时候会用到图片的延迟加载,那么延迟加载的好处是啥呢? 我觉得主要包括两点吧,第一是在包含很多大图片长页面中延迟加载图片可以加快页面加载速度:第二是帮助降低服务器负担. 下面介绍一下常用的延迟 ...
- 移动前端—H5实现图片先压缩再上传
在做移动端图片上传的时候,用户传的都是手机本地图片,而本地图片一般都相对比较大,拿iphone6来说,平时拍很多图片都是一两M的,如果直接这样上传,那图片就太大了,如果用户用的是移动流量,完全把图片上 ...
- JS检测浏览器Adobe Reader插件
Web应用中当我们希望向用户显示pdf文档时候,如果用户安装了Adobe Reader之类的pdf阅读器,就可以直接打开文档在浏览器中显示, 但是,当用户没有安装这类软件的时候,自然是打不开的,为了系 ...
- POI 读取 excel
xls 和 xlsx 后缀是因为 world excel 版本不一致,需要区别对待 依赖 <dependency> <groupId>org.apache.poi</gr ...
- Android样式主题及自定义属性
一.Selector——图形.颜色选择器 语法 <selector> <item android:drawable=“drawableResA” android:state_xx ...
- 三国群英传2修改MOD基础
三国群英传2的MOD制作,必须修改的几个ini文件: SANGO.INI--武将的武器.马匹.物品 THINGS.INI--战场中的对象:兵种.兵种在战场的设定.武器等 TIMES1-4.INI--剧 ...
- 卸载(uninstalled)Mac os Jenkins pkg 安装包
有些小伙伴不熟悉Jenkins, 在mac上安装,会选择pkg 安装包, 安装后又想卸载,苦于卸载不干净,今天给到一个命令即可搞定. 对应qq群号:616961231打开终端输入下面命令'/Libra ...
- JavaWeb:servlet实现下载与上传功能
本文内容: servlet实现下载功能 servlet实现上传功能 首发日期:2018-07-21 servlet实现下载功能 实现流程 1.首先制作一个jsp页面,主要是用来触发下载的.这里可以根据 ...