深搜,只不过是三维的。

 #include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int l,r,c;
int sx,sy,sz;
int ex,ey,ez;
int ans=;
char map[][][];
int book[][][]= {};
int flag=;
void dfs(int x,int y,int z,int step) {
if(x==ex&&y==ey&&z==ez) {
ans=min(ans,step);
flag=;
return;
}
if(map[x+][y][z]!='#'&&book[x+][y][z]!=&&x+<=l) {
book[x+][y][z]=;
dfs(x+,y,z,step+);
book[x+][y][z]=;
}
if(map[x-][y][z]!='#'&&book[x-][y][z]!=&&x->=) {
book[x-][y][z]=;
dfs(x-,y,z,step+);
book[x-][y][z]=;
}
if(map[x][y+][z]!='#'&&book[x][y+][z]!=&&y+<=r) {
book[x][y+][z]=;
dfs(x,y+,z,step+);
book[x][y+][z]=;
}
if(map[x][y-][z]!='#'&&book[x][y-][z]!=&&y->=) {
book[x][y-][z]=;
dfs(x,y-,z,step+);
book[x][y-][z]=;
}
if(map[x][y][z+]!='#'&&book[x][y][z+]!=&&z+<=c) {
book[x][y][z+]=;
dfs(x,y,z+,step+);
book[x][y][z+]=;
}
if(map[x][y][z-]!='#'&&book[x][y][z-]!=&&z->=) {
book[x][y][z-]=;
dfs(x,y,z-,step+);
book[x][y][z-]=;
}
}
int main() {
while((cin>>l>>r>>c)&&l!=&&r!=&&c!=) {
for(int i=; i<=l; i++) {
for(int j=; j<=r; j++) {
for(int k=; k<=c; k++) {
cin>>map[i][j][k];
if(map[i][j][k]=='S') {
sx=i;
sy=j;
sz=k;
book[i][j][k]=;
}
if(map[i][j][k]=='E') {
ex=i;
ey=j;
ez=k;
}
}
}
}
dfs(sx,sy,sz,);
if(flag==) {
cout<<"Trapped!"<<endl;
}
else
{
cout<<"Escaped in "<<ans<<" minute(s)."<<endl;
}
memset(book,,sizeof(book));
flag=;
ans=;
}
}
请各位大佬斧正(反正我不认识斧正是什么意思)

POJ P2251 Dungeon Master 题解的更多相关文章

  1. POJ 2251 Dungeon Master(地牢大师)

    p.MsoNormal { margin-bottom: 10.0000pt; font-family: Tahoma; font-size: 11.0000pt } h1 { margin-top: ...

  2. POJ 2251 Dungeon Master --- 三维BFS(用BFS求最短路)

    POJ 2251 题目大意: 给出一三维空间的地牢,要求求出由字符'S'到字符'E'的最短路径,移动方向可以是上,下,左,右,前,后,六个方向,每移动一次就耗费一分钟,要求输出最快的走出时间.不同L层 ...

  3. POJ 2251 Dungeon Master /UVA 532 Dungeon Master / ZOJ 1940 Dungeon Master(广度优先搜索)

    POJ 2251 Dungeon Master /UVA 532 Dungeon Master / ZOJ 1940 Dungeon Master(广度优先搜索) Description You ar ...

  4. POJ.2251 Dungeon Master (三维BFS)

    POJ.2251 Dungeon Master (三维BFS) 题意分析 你被困在一个3D地牢中且继续寻找最短路径逃生.地牢由立方体单位构成,立方体中不定会充满岩石.向上下前后左右移动一个单位需要一分 ...

  5. BFS POJ 2251 Dungeon Master

    题目传送门 /* BFS:这题很有意思,像是地下城,图是立体的,可以从上张图到下一张图的对应位置,那么也就是三维搜索,多了z坐标轴 */ #include <cstdio> #includ ...

  6. poj 2251 Dungeon Master

    http://poj.org/problem?id=2251 Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total Submis ...

  7. POJ 2251 Dungeon Master (三维BFS)

    题目链接:http://poj.org/problem?id=2251 Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  8. POJ 2251 Dungeon Master(3D迷宫 bfs)

    传送门 Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 28416   Accepted: 11 ...

  9. POJ 2251 Dungeon Master (非三维bfs)

    Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 55224   Accepted: 20493 ...

随机推荐

  1. C语言基础知识---认识C语言

    2019.11.09 秋风 晴 最近一直在搞一套LoRa算法.总算有点效果了.心感慰藉(可能用错词语.但是也不管了) 初学者如何理解C语言? 无需刻板理解,笔者常用一个这样的例子助学生理解:法国人和法 ...

  2. 配置linux命令行界面的 文件显示颜色

    在linux命令行界面下使用ls命令时,有时会看见显示的文件会有不同的颜色,因为linux的文件没有后缀名这个概念(Windows系统中的文件会有后缀名,从而可以将文件标识为不同类型),显示不同的颜色 ...

  3. 将 C++/WinRT 中的线程切换体验带到 C# 中来(WPF 版本)

    原文:将 C++/WinRT 中的线程切换体验带到 C# 中来(WPF 版本) 如果你要在 WPF 程序中使用线程池完成一个特殊的任务,那么使用 .NET 的 API Task.Run 并传入一个 L ...

  4. .net Dapper 实践系列(3) ---数据显示(Layui+Ajax+Dapper+MySQL)

    目录 写在前面 产生问题 解决方案 写在前面 上一小节,我们使用Dapper 里事务实现了一对多关系的添加.这一小节,主要记录如何使用Dapper 实现多表的查询显示. 产生问题 在mvc控制器中查询 ...

  5. C语言-MySQL单表查询(vs2013环境)

    一.首先配置项目属性: 1.打开mysql的安装路径,找到include文件夹和lib文件夹 如图: 2.在vs2013中, 打开项目–> 属性 –>VC++目录 如图: 把将nclude ...

  6. 全网独发gensim中similarities.Similarity用法

    index = similarities.MatrixSimilarity(lsi[corpus]) # 管网的原文翻译如下: 警告:similarities.MatrixSimilarity类仅仅适 ...

  7. windows开机自启动的django服务

    做了一个django项目,想部署在win10的笔记本电脑上,可以开机后台自动启动.找了很多的方法.最后成功了. 参考了这个博主的内容. https://blog.csdn.net/qq_3595961 ...

  8. Java跳出多重循环的方法

    我们一般用break和cuntinue来控制单个循环,但是如果遇到有多个循环的情况呢,比如下面这个: for (int i=0; i<10; i++) { for (int j=0; j< ...

  9. MySQL中的JSON类型

    前言(废话) 昨天抽了点时间在网上搜列了一个开源项目,项目挺完整的,前后台分离还带有微信小程序,我Clone下代码,经过一番倒腾,嘿~还真就跑起来了.在这个过程中,体验了一把VUE项目工程细节,因为之 ...

  10. ES6 新增基本数据类型Symbol

    ES6 增加了一个新的基本数据类型 symbol. 不过,和其他基本数据类型相比,它有点与众不同,因为它没有字面量的表现形式,而且创建的方式也有点奇怪,只能通过调用全局函数Symbol()来完成. l ...