CF1118C.Palindromic Matrix

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Let's call some square matrix with integer values in its cells palindromic if it doesn't change after the order of rows is reversed and it doesn't change after the order of columns is reversed.

For example, the following matrices are palindromic:

The following matrices are not palindromic because they change after the order of rows is reversed:

The following matrices are not palindromic because they change after the order of columns is reversed:

You are given n2n^2 integers. Put them into a matrix of nn rows and nn columns so that each number is used exactly once, each cell contains exactly one number and the resulting matrix is palindromic. If there are multiple answers, print any. If there is no solution, print "NO".

我们称一个所有元素均为整数的方阵为回文矩阵,当且仅当将其行顺序反转后矩阵不变,且将其列顺序反转后矩阵也不变。

例如,以下矩阵是回文矩阵:

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

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

现给你 n2n^2 个整数。请将它们填入一个 nn 行 nn 列的矩阵中,使得每个数恰好使用一次,每个格子恰好填一个数,且所得矩阵为回文矩阵。若存在多种方案,输出任意一种即可;若不存在解,则输出 "NO"。

输入格式

The first line contains one integer nn (1≤n≤201 \le n \le 20).

The second line contains n2n^2 integers a1,a2,…,an2a_1, a_2, \dots, a_{n^2} (1≤ai≤10001 \le a_i \le 1000) — the numbers to put into a matrix of nn rows and nn columns.

第一行包含一个整数 nn(1≤n≤201 \le n \le 20)。

第二行包含 n2n^2 个整数 a1,a2,…,an2a_1, a_2, \dots, a_{n^2}(1≤ai≤10001 \le a_i \le 1000),这些数需填入一个 nn 行 nn 列的矩阵中。

输出格式

If it is possible to put all of the n2n^2 numbers into a matrix of nn rows and nn columns so that each number is used exactly once, each cell contains exactly one number and the resulting matrix is palindromic, then print "YES". Then print nn lines with nn space-separated numbers — the resulting matrix.

If it's impossible to construct any matrix, then print "NO".

You can print each letter in any case (upper or lower). For example, "YeS", "no" and "yES" are all acceptable.

如果可以将全部 n2n^2 个数填入一个 nn 行 nn 列的矩阵中,使得每个数恰好使用一次,每个格子恰好包含一个数,且所得矩阵是回文矩阵,则输出 "YES";随后输出 nn 行,每行 nn 个以空格分隔的数——即所构造的矩阵。

如果无法构造出任何满足条件的矩阵,则输出 "NO"。

你可以以任意大小写形式输出每个字母(大写或小写均可)。例如,"YeS"、"no" 和 "yES" 均可接受。

输入输出样例

  • 输入#1

    4
    1 8 8 1 2 2 2 2 2 2 2 2 1 8 8 1

    输出#1

    YES
    1 2 2 1
    8 2 2 8
    8 2 2 8
    1 2 2 1
  • 输入#2

    3
    1 1 1 1 1 3 3 3 3

    输出#2

    YES
    1 3 1
    3 1 3
    1 3 1
  • 输入#3

    4
    1 2 1 9 8 4 3 8 8 3 4 8 9 2 1 1

    输出#3

    NO
  • 输入#4

    1
    10

    输出#4

    YES
    10

说明/提示

Note that there exist multiple answers for the first two examples.

注意,前两个示例存在多个正确答案。

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

首页