#54138. wy 的单机游戏

    ID: 54138 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>计蒜客赛事普及T4/提高T1广度优先搜索广度优先搜索题单魔扣OJ

wy 的单机游戏

暂无测试数据。

wy 最近在玩一款名为《传送门》的单机游戏。

游戏中玩家可以控制一个人物在地图上移动,而每轮游戏开始时,地图上会随机出现一些传送门。

游戏地图是一个大小为 $n * m$ 的矩阵,玩家出生在 $(1,1)$,而每次游戏需要到达终点 $(n,m)$ 才能获得胜利。

在游戏中原本就存在一些墙,用#表示,而能够行走的空地则用.表示,每秒钟玩家可以选择上下左右任意一个方向进行一次移动(不能呆在原地不动)。

而在空地上会随机出现一些传送门,传送门用大写字母表示,例如 $A,B,C...$,地图上可能出现多个传送门,但是每个传送门一定是成对出现的。

即如果存在传送门 $A$,则地图上有且必然仅有两个传送门 $A$,且玩家无法选择是否传送,只要进入传送门就必然会被传送到另一个传送门处。

设两个传送门 $A$ 分别为 $A_1$ 和 $A_2$。

当玩家踏入 $A_1$ 的瞬间就会被传送到 $A_2$ 处(传送过程不消耗时间,且传送门永久存在不会消失)。

但此时为了防止时空紊乱,$A_2$ 传送门会暂时失效 $1$ 秒钟。

例如如下地图

.#.
A#A
.#.

当玩家进入某个传送门时,会立刻传送到另一个传送门处,例如上图,当玩家移动到 $(2,1)$ 时会立刻传送到 $(2,3)$,此时 $(2,3)$ 的传送门会失效 $1$ 秒钟。

若玩家想返回 $(2,1)$ 则需要先进行一次移动到达 $(1,3)$ 或 $(3,3)$,再返回 $(2,3)$ 才会被传送回 $(2,1)$。

现在 wy 已经开始了一轮游戏,她想知道最少花费多少时间就能获得胜利?

输入格式

输入第一行包含两个正整数 $n,m$ 含义如题。

接下来 $n$ 行,每行 $m$ 个字符,其中#表示墙,.表示空地,大写字母表示传送门。

输入保证同一个大写字母有且只会出现两次。

输出格式

输出只有一行,该行只有一个正整数,表示 wy 获胜最少需要花费的时间。

若无法获胜则输出Game Over.

数据范围

对于 $60\%$ 的数据,$N,M \leq 20$

对于 $100\%$ 的数据,$N,M \leq 100$

3 3
.#.
A#A
.#.
2