CF1521E.Nastia and a Beautiful Matrix

省选/NOI-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

You like numbers, don't you? Nastia has a lot of numbers and she wants to share them with you! Isn't it amazing?

Let aia_i be how many numbers ii (1≤i≤k1 \le i \le k) you have.

An n×nn \times n matrix is called beautiful if it contains all the numbers you have, and for each 2×22 \times 2 submatrix of the original matrix is satisfied:

  1. The number of occupied cells doesn't exceed 33;
  2. The numbers on each diagonal are distinct.

Make a beautiful matrix of minimum size.

你喜欢数字,对吧?娜斯佳有很多数字,她想和你分享!这不是很棒吗?

设 aia_i 表示你拥有的数字 ii 的个数(其中 1≤i≤k1 \le i \le k)。

一个 n×nn \times n 矩阵被称为优美的,当且仅当它包含了你所拥有的全部数字,且对于原矩阵的每个 2×22 \times 2 子矩阵均满足:

  1. 占据的格子数不超过 33;
  2. 每条对角线上的数字互不相同。

请构造一个尺寸最小的优美矩阵。

输入格式

The first line contains a single integer tt (1≤t≤10 0001 \le t \le 10\,000) — the number of test cases.

The first line of each test case contains 22 integers mm and kk (1≤m,k≤1051 \le m, k \le 10^5) — how many numbers Nastia gave you and the length of the array aa, respectively.

The second line of each test case contains kk integers a1,a2,…,aka_1, a_2, \ldots, a_{k} (0≤ai≤m0 \le a_i \le m, a1+a2+…+ak=ma_1 + a_2 + \ldots + a_{k} = m), where aia_i is how many numbers ii you have.

It's guaranteed that the sum of mm and kk in one test doesn't exceed 2⋅1052 \cdot 10^5.

第一行包含一个整数 tt(1≤t≤10 0001 \le t \le 10\,000)—— 表示测试用例的数量。

每个测试用例的第一行包含两个整数 mm 和 kk(1≤m,k≤1051 \le m, k \le 10^5)—— 分别表示娜斯佳给你的数字个数以及数组 aa 的长度。

每个测试用例的第二行包含 kk 个整数 a1,a2,…,aka_1, a_2, \ldots, a_{k}(0≤ai≤m0 \le a_i \le m,且 a1+a2+…+ak=ma_1 + a_2 + \ldots + a_{k} = m),其中 aia_i 表示你拥有的数字 ii 的个数。

保证在一个测试用例中,mm 与 kk 的和不超过 2⋅1052 \cdot 10^5。

输出格式

For each tt test case print a single integer nn — the size of the beautiful matrix.

In the next nn lines print nn integers bi,jb_{i, j} (0≤bi,j≤k0 \le b_{i, j} \le k; if position is empty, print bi,j=0b_{i, j} = 0) — the beautiful matrix bb you made up.

对于每个 tt 个测试用例,输出一个整数 nn —— 美丽矩阵的大小。

接下来的 nn 行中,每行输出 nn 个整数 bi,jb_{i, j}(0≤bi,j≤k0 \le b_{i, j} \le k;若位置为空,则输出 bi,j=0b_{i, j} = 0)—— 即你构造出的美丽矩阵 bb。

输入输出样例

  • 输入#1

    2
    3 4
    2 0 0 1
    15 4
    2 4 8 1

    输出#1

    2
    4 1
    0 1
    5
    3 0 0 2 2
    3 2 3 3 0
    0 1 0 4 0
    3 0 0 0 0
    2 1 3 3 3

说明/提示

Note that 00 in this problem represents a blank, not a number.

Examples of possible answers for the first test case:

\begin{array}{cc} 1 & 1 \\ 4 & 0 \\ \end{array} \hspace{0,5cm} \begin{array}{cc} 1 & 4 \\ 1 & 0 \\ \end{array} \hspace{0,5cm} \begin{array}{cc} 4 & 0 \\ 1 & 1 \\ \end{array}

Examples of not beautiful matrices for the first test case:

\begin{array}{cc} 1 & 0 \\ 4 & 1 \\ \end{array} \hspace{0,5cm} \begin{array}{cc} 4 & 1 \\ 7 & 1 \\ \end{array} \hspace{0,5cm} \begin{array}{cc} 1 & 0 \\ 4 & 0 \\ \end{array}

The example of the not beautiful matrix for the second test case:

3402232330010003000021333\begin{array}{cc} 3 & 4 & 0 & 2 & 2 \\ 3 & 2 & 3 & 3 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 3 & 0 & 0 & 0 & 0 \\ 2 & 1 & 3 & 3 & 3 \\ \end{array}

Everything is okay, except the left-top submatrix contains 44 numbers.

注意:本题中的 00 表示空格,而非数字。

第一个测试用例的若干可能答案示例:

\begin{array}{cc} 1 & 1 \\ 4 & 0 \\ \end{array} \hspace{0,5cm} \begin{array}{cc} 1 & 4 \\ 1 & 0 \\ \end{array} \hspace{0,5cm} \begin{array}{cc} 4 & 0 \\ 1 & 1 \\ \end{array}

第一个测试用例中若干不满足“优美矩阵”条件的示例:

\begin{array}{cc} 1 & 0 \\ 4 & 1 \\ \end{array} \hspace{0,5cm} \begin{array}{cc} 4 & 1 \\ 7 & 1 \\ \end{array} \hspace{0,5cm} \begin{array}{cc} 1 & 0 \\ 4 & 0 \\ \end{array}

第二个测试用例中一个不满足“优美矩阵”条件的示例:

3402232330010003000021333\begin{array}{cc} 3 & 4 & 0 & 2 & 2 \\ 3 & 2 & 3 & 3 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 3 & 0 & 0 & 0 & 0 \\ 2 & 1 & 3 & 3 & 3 \\ \end{array}

除左上角子矩阵包含 44 个数字外,其余均符合要求。

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

首页