CF2081F Hot Matrix
题目描述
Piggy Zhou 热爱矩阵,尤其是能让他感到兴奋的"热矩阵"。
一个大小为 $n \times n$ 的热矩阵定义如下。令 $a_{i, j}$ 表示第 $i$ 行第 $j$ 列的元素($1 \le i, j \le n$):
1. 矩阵的每一行和每一列都是 $0$ 到 $n-1$ 所有数字的一个排列。
2. 对于所有满足 $1 \le i, j \le n$ 的索引对 $(i, j)$,有 $a_{i, j} + a_{i, n - j + 1} = n - 1$。
3. 对于所有满足 $1 \le i, j \le n$ 的索引对 $(i, j)$,有 $a_{i, j} + a_{n - i + 1, j} = n - 1$。
4. 所有有序对 $\left(a_{i, j}, a_{i, j + 1}\right)$(其中 $1 \le i \le n$,$1 \le j < n$)必须互不相同。
5. 所有有序对 $\left(a_{i, j}, a_{i + 1, j}\right)$(其中 $1 \le i < n$,$1 \le j \le n$)必须互不相同。
现在,Piggy Zhou 给定你一个数字 $n$,你需要判断是否存在对应的热矩阵。若存在则构造一个符合要求的热矩阵,否则告知他无法构造。
输入格式
每个测试包含多个测试用例。第一行输入测试用例数量 $t$($1 \le t \le 1000$)。接下来描述每个测试用例。
每个测试用例的输入仅包含一个整数 $n$($1 \le n \le 3000$)。
保证所有测试用例的 $n$ 总和不超过 $3000$。
输出格式
对于每个测试用例:
- 若不存在热矩阵,输出"NO"(不含引号)。
- 否则,在第一行输出"YES"(不含引号),随后输出 $n$ 行,每行包含 $n$ 个数字,表示符合要求的热矩阵。
若存在多个解,输出任意一个即可。
说明/提示
第一个、第二个和第四个测试用例中,可以验证示例提供的矩阵满足题目所有条件。
第三个测试用例中,通过枚举所有可能的矩阵,可以证明不存在满足条件的热矩阵。
翻译由 DeepSeek R1 完成