CF1118C Palindromic Matrix
题目描述
我们称一个方阵为“回文矩阵”,如果将其行的顺序反转后不变,并且将其列的顺序反转后也不变。
例如,以下矩阵是回文矩阵:

以下矩阵不是回文矩阵,因为将行顺序反转后会发生变化:

以下矩阵不是回文矩阵,因为将列顺序反转后会发生变化:

现在给定 $n^2$ 个整数,请你将它们填入一个 $n$ 行 $n$ 列的矩阵中,使得每个数恰好使用一次,每个格子恰好填入一个数,并且最终得到的矩阵是回文矩阵。如果有多种方案,输出任意一种。如果无解,输出 "NO"。
输入格式
第一行包含一个整数 $n$($1 \le n \le 20$)。
第二行包含 $n^2$ 个整数 $a_1, a_2, \dots, a_{n^2}$($1 \le a_i \le 1000$),表示要填入矩阵的数字。
输出格式
如果存在一种方案能够将所有 $n^2$ 个数填入 $n$ 行 $n$ 列的矩阵,使得每个数恰好使用一次,每个格子恰好填入一个数,并且最终矩阵是回文矩阵,则输出 "YES"。接下来输出 $n$ 行,每行 $n$ 个用空格分隔的整数,表示构造出的矩阵。
如果无法构造出这样的矩阵,则输出 "NO"。
输出中的字母大小写不敏感,例如 "YeS"、"no" 和 "yES" 都是可以接受的。
说明/提示
注意,对于前两个样例,存在多种可行答案。
由 ChatGPT 4.1 翻译