在一个 N 行 M 列的地牢中,除了若干地牢守卫,还关押着一位公主。
英勇的骑士决定孤身一人去拯救公主,他每 1 单位时间可以移动到上、下、左、右任一相邻的格子中(不能移动到墙上)。若遇到地牢守卫,必须击杀守卫才能继续前进( 击杀守卫需额外消耗 1 单位时间 )。
请计算骑士找到公主至少需要多少单位时间?( 若无法救出公主,输出字符串 Impossible )
输入描述
第 1 行,包含 2 个整数 N 和 M
接下来 N 行,每行包含 M 个字符,代表地牢情形。其中,字符 . 代表平地,字符 # 代表墙,字符 K 代表地牢守卫,字符 A 代表公主,字符 R 代表骑士的起始位置。
【测试数据范围】3≤N,M≤200
输出描述
输出 1 个整数,代表骑士找到公主至少需要多少单位时间( 若无法救出公主,输出字符串 Impossible)
用例输入 1
5 5
R....
.###.
.###.
.###.
...KA
用例输出 1
8
用例输入 2
5 5
R..##
.#K##
.....
####.
A....
用例输出 2
12
用例输入 3
4 5
#####
R..#A
...#.
....#
用例输出 3
Impossible
用例输入 4
7 8
#.#####.
#.A#..R.
#..#K...
..#..#.#
#...##..
.#......
........
用例输出 4
13