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 ai be how many numbers i (1≤i≤k) you have.
An n×n matrix is called beautiful if it contains all the numbers you have, and for each 2×2 submatrix of the original matrix is satisfied:
- The number of occupied cells doesn't exceed 3;
- The numbers on each diagonal are distinct.
Make a beautiful matrix of minimum size.
你喜欢数字,对吧?娜斯佳有很多数字,她想和你分享!这不是很棒吗?
设 ai 表示你拥有的数字 i 的个数(其中 1≤i≤k)。
一个 n×n 矩阵被称为优美的,当且仅当它包含了你所拥有的全部数字,且对于原矩阵的每个 2×2 子矩阵均满足:
- 占据的格子数不超过 3;
- 每条对角线上的数字互不相同。
请构造一个尺寸最小的优美矩阵。
输入格式
The first line contains a single integer t (1≤t≤10000) — the number of test cases.
The first line of each test case contains 2 integers m and k (1≤m,k≤105) — how many numbers Nastia gave you and the length of the array a, respectively.
The second line of each test case contains k integers a1,a2,…,ak (0≤ai≤m, a1+a2+…+ak=m), where ai is how many numbers i you have.
It's guaranteed that the sum of m and k in one test doesn't exceed 2⋅105.
第一行包含一个整数 t(1≤t≤10000)—— 表示测试用例的数量。
每个测试用例的第一行包含两个整数 m 和 k(1≤m,k≤105)—— 分别表示娜斯佳给你的数字个数以及数组 a 的长度。
每个测试用例的第二行包含 k 个整数 a1,a2,…,ak(0≤ai≤m,且 a1+a2+…+ak=m),其中 ai 表示你拥有的数字 i 的个数。
保证在一个测试用例中,m 与 k 的和不超过 2⋅105。
输出格式
For each t test case print a single integer n — the size of the beautiful matrix.
In the next n lines print n integers bi,j (0≤bi,j≤k; if position is empty, print bi,j=0) — the beautiful matrix b you made up.
对于每个 t 个测试用例,输出一个整数 n —— 美丽矩阵的大小。
接下来的 n 行中,每行输出 n 个整数 bi,j(0≤bi,j≤k;若位置为空,则输出 bi,j=0)—— 即你构造出的美丽矩阵 b。
输入输出样例
输入#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 0 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:
3303242101030032300320003
Everything is okay, except the left-top submatrix contains 4 numbers.
注意:本题中的 0 表示空格,而非数字。
第一个测试用例的若干可能答案示例:
\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}
第二个测试用例中一个不满足“优美矩阵”条件的示例:
3303242101030032300320003
除左上角子矩阵包含 4 个数字外,其余均符合要求。
输入解题思路,AI测评打分。不知道怎么写?