グラフが AA(ASCII art)として与えられる。頂点 s から頂点 t への最短経路を出力せよ。
与えられるグラフは以下の制約を満たす。
頂点は大文字アルファベットとその 8 近傍の o
で表される。
ooo oAo ooo
横向きの辺は -
で表され、縦向きの辺は |
で表される。
辺の長さは全て 1 である。-
や |
がいくつ連続しているかは、辺の長さとは関係ない。
辺と辺は交差しない。また、頂点と頂点が重なったり、接することもない。
各頂点から出る辺は上下左右それぞれについて高々一本である。それぞれの辺は下の図のように、頂点を表すアルファベットの上下左右にある o
に接続する。
..|.. .ooo. -oAo- .ooo. ..|..
したがって、以下のような入力はない。
.......... .ooo..ooo. .oAo..oBo. .ooo--ooo. ..........
(辺の位置が条件を満たしていない)
oooooo oAooBo oooooo
(頂点と頂点が接してしまっている)
H W s t a_1 $\vdots$ a_H
A
から Z
のいずれかであり s \neq t を満たす。A
から Z
および o
、-
、|
、.
のみからなる。A
から Z
はAA中に高々1回しか出現しない。o
のいずれかに接続する。AAで与えられるグラフ上での s から t への最短経路長を 1 行に出力せよ。
14 16 A L ooo.....ooo..... oAo-----oHo..... ooo.....ooo..ooo .|.......|...oLo ooo..ooo.|...ooo oKo--oYo.|....|. ooo..ooo.|....|. .|....|.ooo...|. .|....|.oGo...|. .|....|.ooo...|. .|....|.......|. ooo..ooo.....ooo oFo--oXo-----oEo ooo..ooo.....ooo
5
21 17 F L ................. .....ooo.....ooo. .....oAo-----oBo. .....ooo.....ooo. ......|.......|.. .ooo..|..ooo..|.. .oCo..|..oDo.ooo. .ooo.ooo.ooo.oEo. ..|..oFo..|..ooo. ..|..ooo..|...|.. ..|...|...|...|.. ..|...|...|...|.. ..|...|...|...|.. .ooo.ooo.ooo..|.. .oGo-oHo-oIo..|.. .ooo.ooo.ooo..|.. ..|...........|.. .ooo...ooo...ooo. .oJo---oKo---oLo. .ooo...ooo...ooo. .................
4