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$ 满足要求。因为第一行上所有 $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$ |