CF1520C Not Adjacent Matrix
题目描述
我们将认为两个数 $a$ 和 $b$ 是相邻的,如果它们的差恰好为 $1$,即 $|a-b|=1$。
我们将认为一个 $n \times n$ 的方阵中的两个格子是相邻的,如果它们有一条公共边。也就是说,对于格子 $(r, c)$,格子 $(r, c-1)$、$(r, c+1)$、$(r-1, c)$ 和 $(r+1, c)$ 都与其相邻。
给定一个整数 $n$,请构造一个 $n \times n$ 的方阵,满足以下条件:
- 每个整数 $1$ 到 $n^2$ 在矩阵中恰好出现一次;
- 如果 $(r_1, c_1)$ 和 $(r_2, c_2)$ 是相邻的格子,则它们中的数不能是相邻的数。
输入格式
第一行包含一个整数 $t$($1 \le t \le 100$)。接下来有 $t$ 组测试数据。
每组测试数据包含一个整数 $n$($1 \le n \le 100$)。
输出格式
对于每组测试数据,输出:
- 如果不存在满足条件的矩阵,输出 $-1$;
- 否则,输出一个满足条件的矩阵(如果有多个,输出任意一个即可)。
矩阵应输出为 $n$ 行,每行包含 $n$ 个整数。
说明/提示
由 ChatGPT 4.1 翻译