#abc246e. [abc246_e]Bishop 2
[abc246_e]Bishop 2
问题说明
我们有一个 的棋盘。用 表示该棋盘上第 行从上往下数、第 列从左往右数的方格。
棋盘由 个字符串 描述。
字符串 的第 个字符 代表了如下内容。
- 如果
.
,方格 为空白。 - 如果
#
,方格 被一个不可以移动或移除的白色卒子占据。
我们把一个白色主教放在方格 上。
根据国际象棋的规则(见注释),找到将这个主教从 移动到 所需的最小步数。
如果无法移动到 ,则报告 -1
。
注释
一个位于方格 上的白色主教可以在一步之内到达以下位置。
-
对于每个正整数 ,它可以到达 ,当且仅当满足以下条件:
- 方格 存在于棋盘中。
- 对于每个小于等于 的正整数 , 没有被一个白色卒子占据。
-
对于每个正整数 ,它可以到达 ,当且仅当满足以下条件:
- 方格 存在于棋盘中。
- 对于每个小于等于 的正整数 , 没有被一个白色卒子占据。
-
对于每个正整数 ,它可以到达 ,当且仅当满足以下条件:
- 方格 存在于棋盘中。
- 对于每个小于等于 的正整数 , 没有被一个白色卒子占据。
-
对于每个正整数 ,它可以到达 ,当且仅当满足以下条件:
- 方格 存在于棋盘中。
- 对于每个小于等于 的正整数 , 没有被一个白色卒子占据。
约束条件
- 是一个长度为 的字符串,由
.
和#
组成。 -
.
-
.
输入
输入以以下格式从标准输入中给出:
输出
输出答案。
示例输入 1
5
1 3
3 5
....#
...#.
.....
.#...
#....
示例输出 1
3
我们可以按照以下方式将主教从 移动到 ,需要三步,不能减少到两步或更少的步数。
- $(1,3) \rightarrow (2,2) \rightarrow (4,4) \rightarrow (3,5)$
示例输入 2
4
3 2
4 2
....
....
....
....
示例输出 2
-1
无法从 移动主教到 。
示例输入 3
18
18 1
1 18
..................
.####.............
.#..#..####.......
.####..#..#..####.
.#..#..###...#....
.#..#..#..#..#....
.......####..#....
.............####.
..................
..................
.####.............
....#..#..#.......
.####..#..#..####.
.#.....####..#....
.####.....#..####.
..........#..#..#.
.............####.
..................
示例输出 3
9