atcoder#ABC184E. [ABC184E] Third Avenue
[ABC184E] Third Avenue
题目描述
縦 マス、横 マスの 次元グリッドで表された街があります。
上から 行目、左から 列目のマスの情報が文字 により与えられます。 は S
, G
, .
, #
, a
~ z
のいずれかです。
#
は入ることができないマスを、a
~ z
はテレポーターのあるマスを表します。
高橋くんははじめ S
のマスにおり、 秒ごとに以下のいずれかの移動を行います。
- 現在いるマスと上下左右に隣り合う、
#
でないマスに移動する。 - 今いるマスと同じ文字が書かれているマスを つ選び、そこにテレポートする。この移動は現在いるマスが
a
~z
のいずれかであるとき使える。
高橋くんが S
のマスから G
のマスに移動するのに必要な最短の時間を求めてください。
ただし、どうしても G
のマスにたどり着けない場合は、代わりに -1
を出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
S
のマスから G
のマスに移動するのに必要な最短時間を出力せよ。
S
のマスから G
のマスに移動する方法が存在しない場合は、代わりに -1
を出力せよ。
题目大意
给出一张地图,起点 S
终点 G
,#
表示墙体。
地图上有若干个传送门,用小写字母表示。
每一秒,您可以移动到相邻位置,或是通过您当前所处的传送门移动到对应的任一传送门。
问您需要的最短时间,若是无法到达输出 -1
。
2 5
S.b.b
a.a.G
4
11 11
S##...#c...
...#d.#.#..
..........#
.#....#...#
#.....bc...
#.##......#
.......c..#
..#........
a..........
d..#...a...
.#........G
14
11 11
.#.#.e#a...
.b..##..#..
#....#.#..#
.#dd..#..#.
....#...#e.
c#.#a....#.
.....#..#.e
.#....#b.#.
.#...#..#..
......#c#G.
#..S...#...
-1
提示
制約
- は
S
,G
,.
,#
, 英小文字のいずれか S
のマスとG
のマスはちょうど つ存在する
Sample Explanation 1
上から 行目、左から 列目のマスを で表すこととします。 はじめ、高橋くんは にいます。 例えば、以下のような手順で 秒で に移動することができます。 - から に移動する - と同じ a
のマスである にテレポートする - から に移動する - から に移動する