#P1014. 传送门
传送门
传送门
题目描述
有一个 n×m 的网格,起点为 (1,1),终点为 (n,m)。网格中有一些传送门,传送门成对出现,进入一个传送门会立即传送到配对的传送门。求从起点到终点的最短路径长度。
输入格式
第一行包含两个整数 n 和 m (1 ≤ n, m ≤ 1000),表示网格的行数和列数。 接下来的 n 行每行包含 m 个字符,表示网格的布局。字符 '.' 表示空地,字符 '#' 表示障碍物,字符 'a'-'z' 表示传送门(同一字母的传送门成对出现)。
保证起点 (1,1) 和终点 (n,m) 都是空地。
输出格式
输出一个整数,表示从起点到终点的最短路径长度。如果无法到达终点,输出 -1。
样例 1
3 3
.a.
..#
#a.
2
提示
一开始在起点 (1,1),步骤为 0。 移动到 (1,2),步骤为 1,进入传送门 'a',传送到 (3,2),步骤仍为 1。 移动到 (3,3),步骤为 2,达到终点。