CF1221B.Knights

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Knights

题目描述

给你一个 nnnn 列的国际象棋棋盘。最初棋盘上的所有格子都是空的,你需要在每个格子中放置一个白色或黑色的骑士。

骑士是一种国际象棋棋子,如果它在 (x1,y1)(x_1, y_1) 这个格子上,则它可以攻击 (x2,y2)(x_2, y_2) 这个格子上的棋子,当且仅当满足以下任一条件:

  • x1x2=2|x_1 - x_2| = 2y1y2=1|y_1 - y_2| = 1,或者
  • x1x2=1|x_1 - x_2| = 1y1y2=2|y_1 - y_2| = 2

下面是一些骑士可以攻击哪些格子的示例。在下图中,如果骑士当前在蓝色格子,则它可以攻击所有红色格子(且仅能攻击这些格子)。

“骑士对决”是指一对不同颜色的骑士互相攻击。你需要在每个格子中放置一个骑士(白色或黑色),使得骑士对决的数量尽可能多。

输入格式

第一行包含一个整数 nn3n1003 \le n \le 100),表示棋盘的行数(和列数)。

输出格式

输出 nn 行,每行 nn 个字符。第 ii 行第 jj 个字符应为 W,表示在 (i,j)(i, j) 格子放置一个白色骑士,或为 B,表示放置一个黑色骑士。骑士对决的数量应尽可能多。如果有多种最优方案,输出任意一种即可。

说明/提示

在第一个样例中,共有 88 组骑士对决:

  1. (1,1)(1, 1) 的白骑士攻击 (3,2)(3, 2) 的黑骑士;
  2. (1,1)(1, 1) 的白骑士攻击 (2,3)(2, 3) 的黑骑士;
  3. (1,3)(1, 3) 的白骑士攻击 (3,2)(3, 2) 的黑骑士;
  4. (1,3)(1, 3) 的白骑士攻击 (2,1)(2, 1) 的黑骑士;
  5. (3,1)(3, 1) 的白骑士攻击 (1,2)(1, 2) 的黑骑士;
  6. (3,1)(3, 1) 的白骑士攻击 (2,3)(2, 3) 的黑骑士;
  7. (3,3)(3, 3) 的白骑士攻击 (1,2)(1, 2) 的黑骑士;
  8. (3,3)(3, 3) 的白骑士攻击 (2,1)(2, 1) 的黑骑士。

由 ChatGPT 4.1 翻译

样例

3
WBW
BBB
WBW

在线编程 IDE

建议全屏模式获得最佳体验