2.8 KiB
2.8 KiB
P17538 音符方阵
题目背景
『你会忘记我吗?』
你突然这样问我,我不知道应该怎么回答。
我的记忆是有限的,至于一生都不会忘记的部分只有一个 n \times n 的方阵,奢求能够把和你度过的所有时光全部镌刻其中显然是不可能了。但是我们一起合奏过的音符构成了若干音阶。如果能够记住这些音符,也许就能记住永远向往着自由,永远绽放着的你了。你的演奏实在是太特别,我绝对不可能记错的。
『不会忘记,即使是死也不会的。』
题目描述
给定一个 $n$,构造一个 n\times n 的矩阵 a_{nn} 满足:
- 对于矩阵中的所有元素 $a_{ij}$,满足
1\le a_{ij}\le n且为整数。 - 对于每个
1到n的整数 $i$:- 存在且仅存在一行,使得这一行上所有
i的倍数列位置上出现的数都是 $i$; - 存在且仅存在一列,使得这一列上所有
i的倍数行位置上出现的数都是 $i$。
- 存在且仅存在一行,使得这一行上所有
可以证明,至少存在一种符合要求的构造。如果有多种构造,你可以输出任意一种。
输入格式
本题包含多组测试。
对于每组数据,第一行一个整数 $T$,表示测试数据组数。
对于每组测试数据,输入一行一个整数 $n$,表示你要构造的方阵大小。
输出格式
对于每组数据,输出 n 行,每行 n 个用空格隔开的整数,表示你构造的方阵。
输入输出样例 #1
输入 #1
2
4
1
输出 #1
1 1 1 1
1 2 1 4
1 2 3 2
1 2 4 3
1
说明/提示
样例 #1 解释
对于第一组数据:
1满足要求。因为第一行上所有1的倍数列位置($(1,1),(1,2),(1,3),(1,4)$)上均为 $1$,第一列上所有1的倍数行位置($(1,1),(2,1),(3,1),(4,1)$)上均为 $1$,并且没有其他行和列满足对应的要求。2满足要求。因为第三行上所有2的倍数列位置($(3,2),(3,4)$)上均为 $2$,第二列上所有2的倍数行位置($(2,2),(4,2)$)上均为 $2$,并且没有其他行和列满足对应的要求。3满足要求。因为第三行上所有3的倍数列位置($(3,3)$)上均为 $3$,第三列上所有3的倍数行位置($(3,3)$)上均为 $3$,并且没有其他行和列满足对应的要求。4满足要求。因为第二行上所有4的倍数列位置($(2,4)$)上均为 $4$,第三列上所有4的倍数行位置($(4,3)$)上均为 $4$,并且没有其他行和列满足对应的要求。
所以这是一种符合要求的矩阵。
数据范围
本题开启捆绑测试。
对于 100\% 的数据,$1\le T\le 100$,$1\le \sum n\le 2000$。
| 子任务 | \sum n\le |
得分 |
|---|---|---|
| 1 | 8 |
25 |
| 2 | 20 |
25 |
| 3 | 2000 |
50 |