#4899. ABC Puzzle
ABC Puzzle
ABC Puzzle
题目描述
给定一个整数 和长度为 的字符串 与 ,其字符均为 、、。解决以下问题。
有一个 的网格。所有单元格最初都为空。
你可以在每个单元格中写入至多一个字符,字符为 、 或 中的一种。(你也可以让单元格保持为空。)
判断是否有可能满足以下所有条件,如果可能,请输出一种可行的方法。
每一行和每一列恰好包含一个 、一个 和一个 。 第 行中最左边写出的字符与 的第 个字符相同。 第 列中最上面写出的字符与 的第 个字符相同。
输入格式
输入从标准输入按以下格式给出:
输出格式
如果不存在任何方法填充网格以满足题目条件,输出一行 。
否则,按以下格式输出一种满足条件的填充方法:
Yes
第一行应包含 。 随后 行中的第 行应包含一个长度为 的字符串 。
如果 的第 个字符是 ,表示从上数第 行、从左数第 列的单元格为空。 如果 的第 个字符是 ,表示从上数第 行、从左数第 列的单元格写有 。 如果 的第 个字符是 ,表示从上数第 行、从左数第 列的单元格写有 。 如果 的第 个字符是 ,表示从上数第 行、从左数第 列的单元格写有 。
如果存在多个正确的填充方法,你可以输出其中任意一个。
5
ABCBC
ACAAB
Yes
AC..B
.BA.C
C.BA.
BA.C.
..CBA
3
AAA
BBB
No
提示
是一个介于 到 (含)之间的整数。 和 是长度为 的字符串,字符均为 、、。输出示例中的网格满足以下所有条件,因此将被视为正确。
每一行包含恰好一个 、一个 和一个 。
每一列包含恰好一个 、一个 和一个 。
从上到下各行中最左边写出的字符依次是 、、、、。
从左到右各列中最上面写出的字符依次是 、、、、。
对于该输入,没有方法填充网格以满足条件。
标签: AtCoder|abc326D
来源
AtCoder|abc326D