Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:512 MB

#628. 迷宫寻踪

统计

题目描述

你是一名探险队员,正在探索一座神秘的多层迷宫遗迹。在进入遗迹后,你发现出口被巧妙地隐藏了起来。为了完成任务,你需要尽快找到通往出口的最短路径。每移动到相邻的一个格子需要花费 1 分钟。迷宫由若干层构成,每一层是一个矩形网格。每个小格可能是空地(可以通行)、障碍物(不可通行),或者特殊标记点(如起点或终点)。你可以在前后左右以及跨层之间上下移动,每次移动一个格子,但前提是目标位置为空地。
请问:你能否成功找到出口?如果可以,最少需要多少时间?

输入格式:

第一行输入三个正整数 L, R, C,分别表示迷宫的层数、每层的行数和列数(1≤L,R,C≤30)。
接下来输入 L 层迷宫的布局:
每一层包含 R 行,每行有 C 个字符。
字符含义如下:
S:你的起始位置。
E:迷宫的出口。
#:障碍物,无法通过。
.:空地,可以通过。

输出格式:

输出包含一行,当你可以顺利到达出口时请输出:
“Escaped in x minute(s).”,x代表你所花费的最短时间;
否则请输出:“Trapped!”。

输入样例#1:

3 4 5
S....
.###.
.##..
###.#
#####
#####
##.##
##...
#####
#####
#.###
####E

输出样例#1:

Escaped in 11 minute(s).