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 翻译