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$。 下面是一些骑士可以攻击哪些格子的示例。在下图中,如果骑士当前在蓝色格子,则它可以攻击所有红色格子(且仅能攻击这些格子)。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1221B/52d6b0891a161fbd4258da7a11dd1ce54ed8afcb.png) “骑士对决”是指一对不同颜色的骑士互相攻击。你需要在每个格子中放置一个骑士(白色或黑色),使得骑士对决的数量尽可能多。

输入格式

第一行包含一个整数 $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 翻译