[ABC326D] ABC Puzzle
题意翻译
### 问题陈述
给定一个整数 $N$ 和长度为 $N$ 的字符串 $R$ 和 $C$ ,分别由 `A` 、`B` 和 `C` 组成。
解决以下问题。
有一个 $N \times N$ 网格。所有单元格最初都是空的(即为 `.` )。
在每个单元格中,您最多只能写 `A` 、`B` 和 `C` 中的一个字符。(您也可以将单元格留空)
确定是否可以满足以下所有条件,如果可以,则以一种方式打印。
- 每行和每列恰好包含一个 `A` 、一个 `B` 和一个 `C` 。
- 第 $i$ 行中最左边的字符与 $R$ 的第 $i$ 个字符匹配。
- 第 $i$ 列中最上面的字符与 $C$ 的第 $i$ 个字符匹配。
#### 说明:( `.` 并不算做字符)
题目描述
[problemUrl]: https://atcoder.jp/contests/abc326/tasks/abc326_d
整数 $ N $ と `A`, `B`, `C` からなる長さ $ N $ の文字列 $ R,C $ が与えられるので、以下の問題を解いてください。
$ N\ \times\ N $ のマス目があり、最初全てのマスは空きマスです。
各マスに `A`, `B`, `C` のうち高々 $ 1 $ 文字を書き込みます。( 空きマスのままにすることも許されます )
以下の条件を全て満たすことが可能であるか判定し、可能であれば書き込み方を $ 1 $ つ出力して下さい。
- 各行 / 各列 に `A`, `B`, `C` がちょうど $ 1 $ 個ずつ含まれる
- $ i $ 行目に書かれた文字の中で最も左にある文字は $ R $ の $ i $ 文字目と一致する
- $ i $ 列目に書かれた文字の中で最も上にある文字は $ C $ の $ i $ 文字目と一致する
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ R $ $ C $
输出格式
問題文中の条件を満たす書き込み方が存在しない場合、 `No` と $ 1 $ 行に出力してください。
そうでない場合、以下の形式に従い書き込み方を出力してください。
> Yes $ A_1 $ $ A_2 $ $ \vdots $ $ A_N $
まず、 $ 1 $ 行目に `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` が書き込まれたことを示します。
正しい書き込み方が複数存在する場合、どれを出力しても構いません。
输入输出样例
输入样例 #1
5
ABCBC
ACAAB
输出样例 #1
Yes
AC..B
.BA.C
C.BA.
BA.C.
..CBA
输入样例 #2
3
AAA
BBB
输出样例 #2
No
说明
### 制約
- $ N $ は $ 3 $ 以上 $ 5 $ 以下の整数
- $ R,C $ は `A`, `B`, `C` からなる長さ $ N $ の文字列
### Sample Explanation 1
出力例のマス目は以下の条件を全て満たすため、正解として扱われます。 - 全ての行に `A`, `B`, `C` がちょうど $ 1 $ 個ずつ含まれる - 全ての列に `A`, `B`, `C` がちょうど $ 1 $ 個ずつ含まれる - 各行に書かれた最も左の文字は上から順に `A`, `B`, `C`, `B`, `C` である - 各列に書かれた最も上の文字は左から順に `A`, `C`, `A`, `A`, `B` である
### Sample Explanation 2
この入力では、条件を満たす書き込み方は存在しません。