AT_abc246_e.[ABC246E] Bishop 2

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

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

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

输入格式

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

NN AxA_x AyA_y BxB_x ByB_y
S1S_1
S2S_2
⋮\vdots
SNS_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

说明/提示

注释

放在格子 (i,j)(i, j) 上的白色主教可以按照以下规则每一步移动:

  • 对于每个正整数 dd,如果满足以下所有条件,则可以移动到格子 (i+d,j+d)(i+d, j+d):
    • 格子 (i+d,j+d)(i+d, j+d) 在棋盘内。
    • 对于所有正整数 l≤dl \le d,格子 (i+l,j+l)(i+l, j+l) 上没有白色兵。
  • 对于每个正整数 dd,如果满足以下所有条件,则可以移动到格子 (i+d,j−d)(i+d, j-d):
    • 格子 (i+d,j−d)(i+d, j-d) 在棋盘内。
    • 对于所有正整数 l≤dl \le d,格子 (i+l,j−l)(i+l, j-l) 上没有白色兵。
  • 对于每个正整数 dd,如果满足以下所有条件,则可以移动到格子 (i−d,j+d)(i-d, j+d):
    • 格子 (i−d,j+d)(i-d, j+d) 在棋盘内。
    • 对于所有正整数 l≤dl \le d,格子 (i−l,j+l)(i-l, j+l) 上没有白色兵。
  • 对于每个正整数 dd,如果满足以下所有条件,则可以移动到格子 (i−d,j−d)(i-d, j-d):
    • 格子 (i−d,j−d)(i-d, j-d) 在棋盘内。
    • 对于所有正整数 l≤dl \le d,格子 (i−l,j−l)(i-l, j-l) 上没有白色兵。

约束条件

  • 2≤N≤15002 \le N \le 1500
  • 1≤Ax,Ay≤N1 \le A_x, A_y \le N
  • 1≤Bx,By≤N1 \le B_x, B_y \le N
  • (Ax,Ay)≠(Bx,By)(A_x, A_y) \ne (B_x, B_y)
  • SiS_i 是由 . 和 # 组成的长度为 NN 的字符串
  • SAx,Ay=.S_{A_x, A_y} = \texttt{.}
  • SBx,By=.S_{B_x, B_y} = \texttt{.}

样例解释 1

如下图所示,可以通过 33 步将主教从 (1,3)(1, 3) 移动到 (3,5)(3, 5)。无法在 22 步以内完成。

  • (1,3)→(2,2)→(4,4)→(3,5)(1, 3) \rightarrow (2, 2) \rightarrow (4, 4) \rightarrow (3, 5)

样例解释 2

无论如何移动主教,都无法将其从 (3,2)(3, 2) 移动到 (4,2)(4, 2)。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页