#4899. ABC Puzzle

0

ABC Puzzle

ABC Puzzle

题目描述

给定一个整数 NN 和长度为 NN 的字符串 RR 与 CC,其字符均为 AA、BB、CC。解决以下问题。 有一个 N×NN \times N 的网格。所有单元格最初都为空。
你可以在每个单元格中写入至多一个字符,字符为 AA、BB 或 CC 中的一种。(你也可以让单元格保持为空。) 判断是否有可能满足以下所有条件,如果可能,请输出一种可行的方法。

每一行和每一列恰好包含一个 AA、一个 BB 和一个 CC。 第 ii 行中最左边写出的字符与 RR 的第 ii 个字符相同。 第 ii 列中最上面写出的字符与 CC 的第 ii 个字符相同。

输入格式

输入从标准输入按以下格式给出: NN RR CC

输出格式

如果不存在任何方法填充网格以满足题目条件,输出一行 NoNo。
否则,按以下格式输出一种满足条件的填充方法: Yes A1A_1 A2A_2 ⋮\vdots ANA_N

第一行应包含 YesYes。 随后 NN 行中的第 ii 行应包含一个长度为 NN 的字符串 AiA_i。

如果 AiA_i 的第 jj 个字符是 ..,表示从上数第 ii 行、从左数第 jj 列的单元格为空。 如果 AiA_i 的第 jj 个字符是 AA,表示从上数第 ii 行、从左数第 jj 列的单元格写有 AA。 如果 AiA_i 的第 jj 个字符是 BB,表示从上数第 ii 行、从左数第 jj 列的单元格写有 BB。 如果 AiA_i 的第 jj 个字符是 CC,表示从上数第 ii 行、从左数第 jj 列的单元格写有 CC。

如果存在多个正确的填充方法,你可以输出其中任意一个。

5
ABCBC
ACAAB
Yes
AC..B
.BA.C
C.BA.
BA.C.
..CBA
3
AAA
BBB
No

提示

NN 是一个介于 33 到 55(含)之间的整数。 RR 和 CC 是长度为 NN 的字符串,字符均为 AA、BB、CC。输出示例中的网格满足以下所有条件,因此将被视为正确。

每一行包含恰好一个 AA、一个 BB 和一个 CC。 每一列包含恰好一个 AA、一个 BB 和一个 CC。 从上到下各行中最左边写出的字符依次是 AA、BB、CC、BB、CC。 从左到右各列中最上面写出的字符依次是 AA、CC、AA、AA、BB。
对于该输入,没有方法填充网格以满足条件。

标签: AtCoder|abc326D

来源

AtCoder|abc326D