CF1221B Knights
题目描述
给你一个 $n$ 行 $n$ 列的国际象棋棋盘。最初棋盘上的所有格子都是空的,你需要在每个格子中放置一个白色或黑色的骑士。
骑士是一种国际象棋棋子,如果它在 $(x_1, y_1)$ 这个格子上,则它可以攻击 $(x_2, y_2)$ 这个格子上的棋子,当且仅当满足以下任一条件:
- $|x_1 - x_2| = 2$ 且 $|y_1 - y_2| = 1$,或者
- $|x_1 - x_2| = 1$ 且 $|y_1 - y_2| = 2$。
下面是一些骑士可以攻击哪些格子的示例。在下图中,如果骑士当前在蓝色格子,则它可以攻击所有红色格子(且仅能攻击这些格子)。

“骑士对决”是指一对不同颜色的骑士互相攻击。你需要在每个格子中放置一个骑士(白色或黑色),使得骑士对决的数量尽可能多。
输入格式
第一行包含一个整数 $n$($3 \le n \le 100$),表示棋盘的行数(和列数)。
输出格式
输出 $n$ 行,每行 $n$ 个字符。第 $i$ 行第 $j$ 个字符应为 W,表示在 $(i, j)$ 格子放置一个白色骑士,或为 B,表示放置一个黑色骑士。骑士对决的数量应尽可能多。如果有多种最优方案,输出任意一种即可。
说明/提示
在第一个样例中,共有 $8$ 组骑士对决:
1. $(1, 1)$ 的白骑士攻击 $(3, 2)$ 的黑骑士;
2. $(1, 1)$ 的白骑士攻击 $(2, 3)$ 的黑骑士;
3. $(1, 3)$ 的白骑士攻击 $(3, 2)$ 的黑骑士;
4. $(1, 3)$ 的白骑士攻击 $(2, 1)$ 的黑骑士;
5. $(3, 1)$ 的白骑士攻击 $(1, 2)$ 的黑骑士;
6. $(3, 1)$ 的白骑士攻击 $(2, 3)$ 的黑骑士;
7. $(3, 3)$ 的白骑士攻击 $(1, 2)$ 的黑骑士;
8. $(3, 3)$ 的白骑士攻击 $(2, 1)$ 的黑骑士。
由 ChatGPT 4.1 翻译