#P15513. [BalticOI 2003] Table (Day 1)

    ID: 15439 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>2003提交答案Special JudgeBalticOI(波罗的海)

[BalticOI 2003] Table (Day 1)

说明

对于给定整数 MM,构造一个具有 NN 行和 NN 列的方形表格(2N102 \le N \le 10),用十进制数字填充,并满足以下限制:由表格中每一行(从左到右)、每一列(从上到下)以及每一条主对角线(从上到下)的数字组成的 NN 位数必须是 MM 的倍数,且不能以数字 00 开头,并且在表格内必须互不相同。

例如,当 M=2M = 2 时,一个有效的表格是

234566820\begin{matrix}2&3&4\\5&6&6\\8&2&0\end{matrix}

下面的表格在 M=2M = 2 时不是有效的:

4\begin{matrix}4\end{matrix}

因为 N<2N < 2

2048\begin{matrix}2&0\\4&8\end{matrix}

因为最后一列以及其中一条主对角线上的数字组成的数以数字 00 开头;

234588202\begin{matrix}2&3&4\\5&8&8\\2&0&2\end{matrix}

因为数字 482482 在表格中出现了两次。

并非总是可以完成该任务。例如,当 M=10M = 10 时,该任务无解。

输入格式

给定十个测试文件 TABLEx.IN\texttt{TABLE}x\texttt{.IN}1x101 ≤ x ≤ 10,见题目附件),每个文件包含一个 MM 的值。

输出格式

你需要为每个测试用例找到一个有效的表格,并将其输出。第一行为 NN,即表格的行数和列数。第 i+1i+1 行(1iN1 ≤ i ≤ N)为第 ii 行的元素,表示 NN 个数字,数字之间用空格分隔。

2
3
2 3 4
5 6 6
8 2 0

提示

提示

已知对于每个给定的测试输入,至少存在一个解。

评分

如果某个测试用例没有输出,或者未满足上述任何条件,则该测试用例得 00 分。

否则,该测试用例的得分按以下公式计算:

$$\text{该测试用例的满分} \times \frac{N _ {\text{所有参赛者中最小的}}}{N _ {\text{你的}}}$$

并向下取整到最近的整数值。因此,你应当在满足条件的前提下,尽量找到尺寸尽可能小的有效表格。

请注意,本题的输出不是唯一的。另外,评分是相对的:每位参赛者的得分取决于其他参赛者在同一测试用例上的解答情况。对于某些测试用例,目前尚不清楚这里给出的表格是否确实是可能的最小尺寸。因此,这些输出文件基本上只证明:对于每个给定的测试用例,所要求的输出确实是存在的。