【题目描述】

这题是一个三维的迷宫题目,其中用‘.’表示空地,‘#’表示障碍物,‘S’表示起点,‘E’表示终点,求从起点到终点的最小移动次数,解法和二维的类似,只是在行动时除了东南西北移动外还多了上下。可以上下左右前后移动,每次都只能移到相邻的空位,每次需要花费一分钟,求从起点到终点最少要多久。

【输入】

多组测试数据。

一组测试测试数据表示一个三维迷宫:

前三个数,分别表示层数、一个面的长和宽,后面是每层的平面图。前三个数据为三个零表示结束。

【输出】

最小移动次数。

【输入样例】

3 4 5
S....
.###.
.##..
###.#
#####
#####
##.##
##...
#####
#####
#.###
####E
1 3 3
S##
#E#
###
0 0 0

【输出样例】

Escaped in 11 minute(s).
Trapped!

【源程序】

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 101
#define MOD 2520
#define E 1e-12
using namespace std;
int X,Y,Z;
char a[N][N][N];
bool vis[N][N][N];
int dir[6][3]={{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}};
struct node
{int x;int y;int z;int step;
}q[N*10000];
void bfs(int sx,int sy,int sz,int ex,int ey,int ez)
{int head=1,tail=1;bool flag=true;memset(vis,0,sizeof(vis));vis[sx][sy][sz]=1;q[tail].x=sx;q[tail].y=sy;q[tail].z=sz;q[tail].step=0;tail++;while(head<tail){int x=q[head].x;int y=q[head].y;int z=q[head].z;int step=q[head].step;if(x==ex&&y==ey&&z==ez){flag=false;printf("Escaped in %d minute(s).\n",step);break;}for(int i=0;i<6;i++){int nx=x+dir[i][0];int ny=y+dir[i][1];int nz=z+dir[i][2];if(0<=nx&&nx<X&&0<=ny&&ny<Y&&0<=nz&&nz<Z&&a[nx][ny][nz]=='.'&&vis[nx][ny][nz]==0){vis[nx][ny][nz]=1;q[tail].x=nx;q[tail].y=ny;q[tail].z=nz;q[tail].step=step+1;tail++;}}head++;}if(flag)printf("Trapped!\n");}
int main()
{int sx,sy,sz,ex,ey,ez;while(scanf("%d%d%d",&X,&Y,&Z)!=EOF&&X&&Y&&Z){for(int i=0;i<X;i++)for(int j=0;j<Y;j++)scanf("%s",a[i][j]);for(int i=0;i<X;i++)for(int j=0;j<Y;j++)for(int k=0;k<Z;k++){if(a[i][j][k]=='S'){sx=i;sy=j;sz=k;}if(a[i][j][k]=='E'){ex=i;ey=j;ez=k;a[i][j][k]='.';}}bfs(sx,sy,sz,ex,ey,ez);}return 0;
}

Dungeon Master(信息学奥赛一本通-T1248)相关推荐

  1. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  2. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  3. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  4. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

  5. 《信息学奥赛一本通提高篇》第6章 组合数学

    例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...

  6. 《信息学奥赛一本通 提高篇》

    提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...

  7. 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分

    信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...

  8. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  9. 信息学奥赛一本通 1080:余数相同问题 2022.1.29 AC

    http://ybt.ssoier.cn:8088/show_source.php?runid=14630195 /* 信息学奥赛一本通 1080:余数相同问题 2022.1.29 AC http:/ ...

最新文章

  1. 语义分割--Attention to Scale: Scale-aware Semantic Image Segmentation
  2. 什么是启发式?什么是产生式?
  3. C# DataGridView 的UserDeletingRow事件,删除
  4. 为什么越来越多的开发者选择使用Spring Boot
  5. 对比excel,用python绘制柱状图时添加table数据表
  6. php怎么引用表单元素,表单元素:最全的各种html表单元素获取和使用方法总结...
  7. 《浪潮之巅》读书笔记2
  8. Python3.7 Scrapy安装(Windows)
  9. python多线程文件的数据续传_python实现支持并发、断点续传的Ftp程序
  10. 机器学习笔记(三)---- 逻辑回归(二分类)
  11. 11·25发布!OPPO Reno7系列正式官宣:定位高颜值实力派
  12. DM8168 unrecoverable error: OMX_ErrorBadParameter (0x80001005) [resolved]
  13. enumerable java_ruby中的Enumerable的使用
  14. 【廖雪峰官方网站/Java教程】多线程(2)
  15. 还在用上古的 ls 命令管理文件吗,是时候使用终端文件管理神器 lf 了!
  16. 第三届“传智杯”全国大学生IT技能大赛(初赛B组)
  17. 《大型网站技术架构》学习笔记
  18. phpdesigner 的配置
  19. wifi设置及一些有趣的应用
  20. 年会活动必备微信墙3D签到配置教程

热门文章

  1. 大数据平台的3个核心功能
  2. 为什么数字中台是企业应用新基建?
  3. 一条SQL引发的“血案”:与SQL优化相关的4个案例
  4. 我30岁了。现在开始编程,会不会太晚?
  5. linux band0 手动重启,band,call,apply的区别以及手动封装
  6. 名校生都去哪些互联网公司?
  7. 再见 Jenkins !几行脚本搞定自动化部署,这款神器有点厉害!
  8. 2019沙雕失误瞬间!哈哈哈哈笑出猪叫...
  9. 关于Jeecg互联网化dubbo改造方案(下)
  10. 【官方搭建入门】JEECG 平台开发环境搭建必读