QOJ.ac

QOJ

Limite de temps : 20.0 s Limite de mémoire : 256 MB Points totaux : 100

#11977. 国际象棋谜题

Statistiques

Andrew 是一位拼图爱好者,他热衷于创作有趣的拼图。有一天,他设计了一个新游戏,规则如下:

  • 游戏在一个巨大的棋盘上进行,棋盘有 $n$ 行 $m$ 列。坐标 $(i, j)$ ($1 \le i \le n, 1 \le j \le m$) 表示第 $i$ 行第 $j$ 列的方格。
  • 游戏中有两种棋子:黑棋和白棋。游戏开始时,部分方格上已经放置了棋子,其余方格为空。
  • 玩家必须在所有空方格上放置棋子。黑棋和白棋的数量充足,足以填满所有方格。
  • 当棋盘上的所有方格都填满棋子后,Andrew 开始计算玩家的得分。得分计算算法如下:对于任意两个方格 $(x_1, y_1)$ 和 $(x_2, y_2)$,如果满足以下 3 个条件,玩家得 1 分:
    • $(x_1, y_1)$ 上有一枚黑棋。
    • $(x_2, y_2)$ 上有一枚白棋。
    • $|x_1 - x_2| = a$ 且 $|y_1 - y_2| = b$,其中 $a$ 和 $b$ 是 Andrew 在游戏开始前定义的两个常数。

Andrew 很困惑,因为他不知道游戏中能得到的最高得分是多少。你能帮他找到解决这个拼图的最佳方案吗?

输入格式

输入的第一行包含一个整数 $T$,表示测试用例的总数。 每个测试用例的第一行包含 4 个整数 $n, m, a, b$,分别表示行数、列数以及 Andrew 定义的两个常数。接下来的 $n$ 行描述了拼图的初始状态,第 $i$ 行是一个长度为 $m$ 的字符串 $c_{i,1}, c_{i,2}, \dots, c_{i,m}$,其中 $c_{i,j}$ 表示游戏开始时 $(i, j)$ 上的棋子类型。黑棋用大写字母 'B' 表示,白棋用大写字母 'W' 表示,空方格用句点 '.' 表示。

  • $1 \le T \le 1000$
  • $1 \le n, m \le 100$
  • $1 \le a \le n, 1 \le b \le m$
  • 至多有 20 个测试用例满足 $n > 30$ 或 $m > 30$

输出格式

对于每个测试用例,第一行输出一个整数,表示玩家能得到的最高得分。接下来的 $n$ 行,每行输出 $m$ 个字符,表示为了获得最高得分,棋盘上每个方格应放置的棋子类型。输出格式与输入格式相同。

注意:如果存在多种获得最高得分的方式,请输出 ASCII 码字典序最小的那一种('B' 小于 'W')。

样例

输入 1

2
2 2 1 1
..
..
2 2 1 1
.W
.B

输出 1

2
BB
WW
2
WW
BB

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.