logo AlgoBeat OnlineJudge
登录 注册

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

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

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

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

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

因为

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

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

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

输入格式

给定十个测试文件 ,见题目附件),每个文件包含一个 的值。

输出格式

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

样例

样例输入 1

2

样例输出 1

3
2 3 4
5 6 6
8 2 0

数据范围与提示

提示

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

评分

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

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

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

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