题库练习 地宫2
← 上一题 下一题 →

A1729 | 地宫2

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

一个迷宫由 $R$ 行 $C$ 列格子组成,有的格子里有障碍物,不能走;有的格子是空地,可以走,还有的是传送门,走到传送门可以瞬间传送至任意传送门(不消耗步数)。

给定一个迷宫,求从左上角走到右下角最少需要走多少步。每步只能向上下左右四个方向走一步,不能斜着走。

输入格式

第一行是两个整数,$R,C(1 \leq R,C \leq 40)$,代表迷宫的长和宽。

接下来是 $R$ 行,每行 $C$ 个字符,代表整个迷宫。

空地格子用'.'表示,有障碍物的格子用'#'表示,传送门用`'$'`表示,传送门数目小于 $10$。

迷宫左上角和右下角都是'.'

输出格式

输出从左上角走到右下角至少要经过多少步。计算步数要包括起点和终点。如果走不到终点输出 $-1$。

输入输出样例

输入 #1
5 5
.$###
##...
#.#.#
#.#.#
#.#$.
输出 #1
3
C++ 编辑器
输入
输出