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 翻译