题库练习 Bishop 2
← 上一题 下一题 →

A5415 | Bishop 2

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

有一个 $N \times N$ 的国际象棋棋盘。棋盘上从上往下第 $i$ 行,从左往右第 $j$ 列的格子称为格子 $(i, j)$。
棋盘的信息以 $N$ 个字符串 $S_i$ 给出。
字符串 $S_i$ 的第 $j$ 个字符 $S_{i,j}$ 包含以下信息:

- 当 $S_{i,j} = \texttt{.}$ 时,格子 $(i, j)$ 上没有任何棋子。
- 当 $S_{i,j} = \texttt{\#}$ 时,格子 $(i, j)$ 上有一个白色兵(pawn)。这个兵不能被移动或移除。

现在在棋盘的格子 $(A_x, A_y)$ 上放置了一个白色主教(bishop)。
请你求出,按照国际象棋的规则(见下方注释),将这个主教从 $(A_x, A_y)$ 移动到 $(B_x, B_y)$ 所需的最少步数。
如果无法移动到目标位置,则输出 $-1$。

输入格式

输入以如下格式从标准输入读入:

第一行输入一个正整数 $N$
第二行输入两个整数${A_x , A_y}$
第三行输入两个整数${B_x , B_y}$
接下来$N$行,每行一个长度为$N$的字符串

输出格式

请输出答案。

输入输出样例

输入 #1
5
1 3
3 5
....#
...#.
.....
.#...
#....
输出 #1
3
输入 #2
4
3 2
4 2
....
....
....
....
输出 #2
-1
输入 #3
18
18 1
1 18
..................
.####.............
.#..#..####.......
.####..#..#..####.
.#..#..###...#....
.#..#..#..#..#....
.......####..#....
.............####.
..................
..................
.####.............
....#..#..#.......
.####..#..#..####.
.#.....####..#....
.####.....#..####.
..........#..#..#.
.............####.
..................
输出 #3
9
C++ 编辑器
输入
输出