AT_abc326_d [ABC326D] ABC Puzzle
题目描述
给定整数 $N$ 以及由 `A`、`B`、`C` 组成的长度为 $N$ 的字符串 $R$ 和 $C$,请解决以下问题。
有一个 $N \times N$ 的网格,最初所有格子都是空的。
你可以在每个格子中写入 `A`、`B`、`C` 中至多一个字符(也可以保持为空)。
请判断是否存在一种写法,使得以下所有条件都被满足。如果存在,请输出一种写法。
- 每一行和每一列都恰好包含一个 `A`、一个 `B` 和一个 `C`。
- 第 $i$ 行中最左边被写入的字符必须等于 $R$ 的第 $i$ 个字符。
- 第 $i$ 列中最上面被写入的字符必须等于 $C$ 的第 $i$ 个字符。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $R$ $C$
输出格式
如果不存在满足条件的写法,请输出一行 `No`。
否则,请按以下格式输出一种写法:
> Yes
> $A_1$
> $A_2$
> $\vdots$
> $A_N$
首先输出一行 `Yes`。接下来的 $N$ 行中,第 $i$ 行输出一个长度为 $N$ 的字符串 $A_i$。
- 当 $A_i$ 的第 $j$ 个字符为 `.` 时,表示第 $i$ 行第 $j$ 列的格子为空。
- 当 $A_i$ 的第 $j$ 个字符为 `A` 时,表示第 $i$ 行第 $j$ 列的格子写入了 `A`。
- 当 $A_i$ 的第 $j$ 个字符为 `B` 时,表示第 $i$ 行第 $j$ 列的格子写入了 `B`。
- 当 $A_i$ 的第 $j$ 个字符为 `C` 时,表示第 $i$ 行第 $j$ 列的格子写入了 `C`。
如果存在多种满足条件的写法,输出任意一种均可。
说明/提示
### 限制
- $N$ 是 $3$ 到 $5$ 之间的整数。
- $R, C$ 均为由 `A`、`B`、`C` 组成的长度为 $N$ 的字符串。
### 样例解释 1
样例输出的网格满足以下所有条件,因此是正确答案:
- 每一行恰好包含一个 `A`、一个 `B` 和一个 `C`。
- 每一列恰好包含一个 `A`、一个 `B` 和一个 `C`。
- 每一行最左边被写入的字符依次为 `A`、`B`、`C`、`B`、`C`。
- 每一列最上面被写入的字符依次为 `A`、`C`、`A`、`A`、`B`。
### 样例解释 2
对于该输入,不存在满足条件的写法。
由 ChatGPT 4.1 翻译