题意:
奶牛们去一个 N\times MN×M 玉米迷宫,2 \leq N \leq 300,2 \leq M \leq3002≤N≤300,2≤M≤300。
迷宫里有一些传送装置,可以将奶牛从一点到另一点进行瞬间转移。这些装置可以双向使用。
如果一头奶牛处在这个装置的起点或者终点,这头奶牛就必须使用这个装置。
玉米迷宫除了唯一的一个出口都被玉米包围。
迷宫中的每个元素都由以下项目中的一项组成:
- 玉米,
#
表示,这些格子是不可以通过的。 - 草地,
.
表示,可以简单的通过。 - 传送装置,每一对大写字母 \tt{A}A 到 \tt{Z}Z 表示。
- 出口,
=
表示。 - 起点,
@
表示
奶牛能在一格草地上可能存在的四个相邻的格子移动,花费 11 个单位时间。从装置的一个结点到另一个结点不花时间。
输入:
5 6 ###=## #.W.## #.#### #.@W## ######
输出:
3
思路:根据题意可以用bfs解决,需要特别注意的是到达传送点时需要特殊处理,传送点之间不需要标记,因为传送点可能需要用多次。例如样例:
3 5
A#@A=
.#.#.
.....
此时的走法是1,3 ->1,4->1,1->2,1->1,1->1,4->1,5。因为传送不需要时间,所以一共需要4单位的时间ÿ