QOJ.ac

QOJ

حد الوقت: 5 s حد الذاكرة: 512 MB مجموع النقاط: 100

#7334. 残局

الإحصائيات

国际象棋比赛即将结束。在棋盘上,除了白方和黑方的国王外,只剩下一枚白方车。

你执白方先行。请确定在对方采取最优策略、尽可能拖延其不可避免的失败的情况下,你将对方将死所需的最少步数。

本题末尾附有国际象棋规则汇编。如果你已经了解这些规则,请放心:你那微薄的国际象棋技巧对解决本题毫无帮助。

输入格式

输入的第一行包含测试用例的数量 $z$ ($1 \le z \le 10$)。接下来是各测试用例的描述。

每个测试用例由描述棋盘的八行组成。每一行描述一行棋盘,包含恰好八个字符:‘.’ 表示空位,‘W’ 表示白方国王,‘B’ 表示黑方国王,‘R’ 表示白方车。每种棋子恰好有一枚。保证初始局面合法:特别是,国王之间互不相邻,且黑方国王未被攻击。

每个测试用例后有一个空行。

输出格式

对于每个测试用例,输出一行,包含一个整数:白方将死黑方所需的最长步数(按照惯例,仅计算白方的步数,不计算黑方的步数)。

样例

输入 1

2
........
........
........
........
........
.......W
R.......
.......B

....B...
........
..W.....
........
.....R..
........
........
........

输出 1

1
2

说明

国际象棋规则:

  • 双方轮流移动一枚棋子。
  • 玩家不能“弃权”;每一回合都必须进行合法的移动。
  • 国王可以向任何方向(水平、垂直或对角线)移动一格。
  • 车可以沿任何行或列移动任意数量的格子,但不能跳过其他棋子。
  • 如果国王处于对方棋子的攻击范围内,则称该国王被“攻击”。
  • 玩家不得进行任何会导致其国王被攻击或继续处于被攻击状态的移动(特别是,国王不能移动到与对方国王相邻的格子)。
  • 不过,如果白方国王不与车相邻,黑方国王可以移动到白方车所在的格子。此时车被吃掉,游戏以平局结束。
  • 如果黑方玩家没有合法的移动,游戏结束;如果黑方国王被攻击,则为将死(白方胜);如果黑方国王未被攻击,则为逼和(平局)。
  • 已知在上述情况下(王车对单王),总是可以在 50 步以内完成将死。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.