atcoder#ABC184E. [ABC184E] Third Avenue
[ABC184E] Third Avenue
Score : points
Problem Statement
There is a town represented as a two-dimensional grid with horizontal rows and vertical columns.
A character describes the square at the -th row from the top and -th column from the left. Here, is one of the following: S
, G
, .
, #
, a
, ..., and z
.
#
represents a square that cannot be entered, and a
, ..., z
represent squares with teleporters.
Takahashi is initially at the square represented as S
. In each second, he will make one of the following moves:
- Go to a non-
#
square that is horizontally or vertically adjacent to his current position. - Choose a square with the same character as that of his current position, and teleport to that square. He can only use this move when he is at a square represented as
a
, ..., orz
.
Find the shortest time Takahashi needs to reach the square represented as G
from the one represented as S
.
If the destination is unreachable, report -1
instead.
Constraints
- is
S
,G
,.
,#
, or a lowercase English letter. - There is exactly one square represented as
S
and one square represented asG
.
Input
Input is given from Standard Input in the following format:
Output
Print the shortest time Takahashi needs to reach the square represented as G
from the one represented as S
.
If the destination is unreachable from the initial position, print -1
instead.
2 5
S.b.b
a.a.G
4
Let denote the square at the -th row from the top and -th column from the left. Initially, Takahashi is at . One way to reach in four seconds is:
- go from to ;
- teleport from to , which is also an
a
square; - go from to ;
- go from to .
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