#ABC326D. ABC 拼图

ABC 拼图

ABC 拼图

题目描述

给你一个整数 NN 和两个长度为 NN、由 A、B、C 组成的字符串 RRCC。请解决以下问题。

有一个 N×NN \times N 的网格。所有格子最初都是空的。

你可以在每个格子中最多写入 A、B、C 中的一个字符。(也可以让格子保持空白。)

判断能否满足以下所有条件,如果能,输出一种填法。

  • 每行和每列都恰好包含一个 A、一个 B 和一个 C。
  • ii 行最左边写入的字符与 RR 的第 ii 个字符一致。
  • ii 列最上边写入的字符与 CC 的第 ii 个字符一致。

输入格式

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

NN
RR
CC

输出格式

如果不存在满足题面条件的填法,在一行内输出 No

否则,按以下格式输出一种这样的填法:

Yes A1A_1
A2A_2
\vdots
ANA_N

第一行输出 Yes

接下来的第 ii 行 (1iN1 \le i \le N) 输出长度为 NN 的字符串 AiA_i

如果 AiA_i 的第 jj 个字符是 .,表示从上数第 ii 行、从左数第 jj 列的格子为空。

如果 AiA_i 的第 jj 个字符是 A,表示在从上数第 ii 行、从左数第 jj 列的格子中写入 A。

如果 AiA_i 的第 jj 个字符是 B,表示在从上数第 ii 行、从左数第 jj 列的格子中写入 B。

如果 AiA_i 的第 jj 个字符是 C,表示在从上数第 ii 行、从左数第 jj 列的格子中写入 C。

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

样例

5
ABCBC
ACAAB
Yes
AC..B
.BA.C
C.BA.
BA.C.
..CBA

输出示例中的网格满足以下所有条件,因此将被判定为正确。

  • 每行恰好包含一个 A、一个 B 和一个 C。
  • 每列恰好包含一个 A、一个 B 和一个 C。
  • 从上到下,各行的最左边字符依次是 A, B, C, B, C。
  • 从左到右,各列的最上边字符依次是 A, C, A, A, B。
3
AAA
BBB
No

对于该输入,不存在满足条件的填法。

数据范围

  • NN3355 之间的整数。
  • RRCC 是长度为 NN、由 A、B、C 组成的字符串。

提示

答案不唯一,输出任意合法解即可。

难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
3105
类型
传统题
Time Limit
4000ms
Memory Limit
1024MiB
上传者
标签