/ Vijos / 题库 /

星闪迷宫

星闪迷宫

时间限制:1秒  内存限制:256M


【题目描述】

  星闪迷宫中的一些格子中安装有星闪装置,每套装置连接着两个不同的格子,人一旦进入其中一个格子,会被瞬时转移到另一个格子中。其他没有星闪装置的格子,有一些是无法通行的坏格子,有一些则是可以通行的好格子。

  小C正在探索该迷宫,他每一步可以走到上下左右相邻格子中的一个,花费一个单位时间,从星闪装置的一个格子到另一个格子花费时间为0。他希望尽快走出迷宫,请你算一算需要的最短时间。

【输入格式】

  第一行是整数 \(N\) 和 \(M\),表示迷宫有 \(N\) 行 \(M\) 列。
  接下来 \(N\) 行,其中第 \(i+1\) 行描述了迷宫中的第 \(i\) 行每个格子的情况,若是字符 '#' 表示坏格子,字符'.'表示好格子,字符'@'表示小C的起点,字符'='表示迷宫出口,大写字母表示一个套星闪装置,大写字母必然是成对的,表示装置连接的两个格子。

【输出格式】

  一个整数,表示小C走出迷宫的最短时间。

【输入输出样例】

 Input

5 6
###=##
#.D.##
#.####
#.@D##
######

 Output

3

【样例解释】

  迷宫中唯一的一个装置的结点用大写字母'D'表示。用时最少的走出迷宫方案为:先向右走到装置的结点,花费一个单位时间,再到装置的另一个结点上,花费 0 个单位时间,然后再向右走一个,再向上走一个,到达出口处,总共花费了 3 个单位时间。

【数据限制】

  对于 \(100\%\) 的数据,\(2 ≤ N, M ≤ 300\)。

【来源】

  Mr.he

信息

ID
3087
难度
9
分类
搜索 | 图结构 | 最短路 点击显示
标签
(无)
递交数
1
已通过
1
通过率
100%
被复制
1
上传者