85 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 のマスである にテレポートする - から に移動する - から に移動する