#6488. D:国际象棋博弈 (Chess Game)

D:国际象棋博弈 (Chess Game)

题目 D:国际象棋博弈 (Chess Game)

属性 规格
输入文件 标准输入 (Standard Input)
输出文件 标准输出 (Standard Output)
时间限制 10 秒
内存限制 256 MB
最大分值 35 分

题目描述

你正在和朋友 Alice 玩一种国际象棋的变体。在这个游戏中,玩家只有捕获对方所有棋子才能获胜。游戏进入了残局,棋盘上只剩下一个白方兵 (White Pawn) 和一个黑方马 (Black Knight)。现在轮到白方行动,你需要确定谁有必胜策略。

规则如下:

  1. 白兵移动:白兵每回合总是向上移动一格。即从 (wc,wr)(wc, wr) 移动到 (wc,wr+1)(wc, wr+1)。白兵从不进行捕获。
  2. 胜利条件
    • 如果白兵到达棋盘顶端(行 NN)而没有被捕获,它会变成皇后,白方获胜。
    • 黑方胜:如果黑马能在白兵到达顶端之前,或者在白兵刚变成皇后的那一刻(即白兵到达 wr=Nwr=N 后的黑方回合)捕获白兵,则黑方胜。
    • 平局 (Stalemate):如果黑马能移动到白兵正前方(同一列,行数为 wr+1wr+1),使白兵无法移动,且此时黑马不被捕获(本题中白兵不捕获),则为平局。
    • 白方胜:如果上述两种情况都不发生,白兵成功升变,白方胜。

注意:马的移动规则为标准的“日”字形(横 2 纵 1 或横 1 纵 2)。

输入格式

  • 第一行:一个整数 NN (4N1004 \le N \le 100),表示 N×NN \times N 的棋盘大小。
  • 第二行:两个空格分隔的整数 wc,wrwc, wr,表示白兵的起始列和行。
  • 第三行:两个空格分隔的整数 bc,brbc, br,表示黑马的起始列和行。

输出格式

  • 第一行:输出结果 "BLACK WINS""STALEMATE""WHITE WINS"
  • 第二行:如果结果是黑胜或平局,输出黑马达成该结果所需的最少步数

“在给出的第二个示例中,白方首先移动到位置 (3,3)。在白兵到达位置 (3,4) 之前,黑方无法将其捕获。然而,黑方可以在第一步移动到位置 (3,4),从而阻挡白兵到达终点,因此迫使比赛进入平局(僵局)。” “在给出的第三个示例中,黑方距离太远,无法阻止白方获胜,也无法迫使比赛进入平局。因此,白兵可以轻松到达位置 (5,5),从而导致白方获胜。