AT_abc326_d.[ABC326D] ABC Puzzle

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定整数 NN 以及由 A、B、C 组成的长度为 NN 的字符串 RR 和 CC,请解决以下问题。

有一个 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。接下来的 NN 行中,第 ii 行输出一个长度为 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。

如果存在多种满足条件的写法,输出任意一种均可。

输入输出样例

  • 输入#1

    5
    ABCBC
    ACAAB

    输出#1

    Yes
    AC..B
    .BA.C
    C.BA.
    BA.C.
    ..CBA
  • 输入#2

    3
    AAA
    BBB

    输出#2

    No

说明/提示

限制

  • NN 是 33 到 55 之间的整数。
  • R,CR, C 均为由 A、B、C 组成的长度为 NN 的字符串。

样例解释 1

样例输出的网格满足以下所有条件,因此是正确答案:

  • 每一行恰好包含一个 A、一个 B 和一个 C。
  • 每一列恰好包含一个 A、一个 B 和一个 C。
  • 每一行最左边被写入的字符依次为 A、B、C、B、C。
  • 每一列最上面被写入的字符依次为 A、C、A、A、B。

样例解释 2

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

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页