QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 512 MB 總分: 100

#1879. 最后的武士

统计

这是一个仅需输出结果的题目。

国际象棋开发者发布了一个名为“最后的武士”(The Last Samurai)的新自定义模式。在棋盘的初始配置中,有一个黑王和多个白子。唯一可以移动的棋子是黑王,目标是在不让自己被攻击的情况下吃掉所有白子。

考虑一种重复以下步骤的策略:

  1. 如果没有剩余的白子,黑方获胜。
  2. 如果无法吃掉任何剩余的白子,黑方失败。
  3. 否则,考虑黑王吃掉一个白子所需的最短移动序列,且在移动过程中(包括吃掉棋子后)黑王始终不处于被攻击的状态。如果存在多个可以在相同最少步数内吃掉的棋子,选择行号最小(最上方)的一个;如果仍有平局,选择列号最小(最左侧)的一个。
  4. 执行选定的移动序列以吃掉该棋子;重复步骤 1。

你需要设计一个满足以下属性的关卡:

  • 棋盘大小最大为 $200 \times 200$(即任一边长不超过 200)。
  • 每个白子要么是车(rook),要么是象(bishop),要么是马(knight)。
  • 棋盘上恰好有一个黑王,且初始时黑王不处于任何白子的攻击范围内。
  • 上述贪心策略可以成功完成关卡,但黑王移动的总步数超过 $10^6$ 步。

请提供一个满足这些要求的关卡。

输入格式

本题没有输入。

输出格式

第一行输出两个空格分隔的整数 $n$ 和 $m$ ($1 \le n, m \le 200$),表示棋盘的大小。接下来的 $n$ 行输出关卡描述。具体来说,第 $i$ 行必须是一个由字符 “.rbnkRBNK” 组成的字符串,其中第 $j$ 个字符表示:

  • “.” 表示对应的格子为空,
  • “r” 或 “R” 表示对应的格子有一个白车,
  • “b” 或 “B” 表示对应的格子有一个白象,
  • “n” 或 “N” 表示对应的格子有一个白马,
  • “k” 或 “K” 表示对应的格子有黑王。

样例

样例输入 1

<empty>

样例输出 1

8 8
r.......
........
........
........
.K......
.....b..
........
....n...

说明

样例输出仅用于阐明输出格式。该贪心策略在 10 步内吃掉了所有棋子,黑王的路线如下图所示:

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.