CF1520C.Not Adjacent Matrix

入门

通过率:0%

时间限制:4.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

We will consider the numbers aa and bb as adjacent if they differ by exactly one, that is, ∣a−b∣=1|a-b|=1.

We will consider cells of a square matrix n×nn \times n as adjacent if they have a common side, that is, for cell (r,c)(r, c) cells (r,c−1)(r, c-1), (r,c+1)(r, c+1), (r−1,c)(r-1, c) and (r+1,c)(r+1, c) are adjacent to it.

For a given number nn, construct a square matrix n×nn \times n such that:

  • Each integer from 11 to n2n^2 occurs in this matrix exactly once;
  • If (r1,c1)(r_1, c_1) and (r2,c2)(r_2, c_2) are adjacent cells, then the numbers written in them must not be adjacent.

我们将称两个数 aa 和 bb 是相邻的,如果它们的差的绝对值恰好为 11,即 ∣a−b∣=1|a-b|=1。

我们将称一个 n×nn \times n 方阵中的两个格子是相邻的,如果它们有一条公共边,即:对于格子 (r,c)(r, c),与其相邻的格子为 (r,c−1)(r, c-1)、(r,c+1)(r, c+1)、(r−1,c)(r-1, c) 和 (r+1,c)(r+1, c)。

对给定的正整数 nn,请构造一个 n×nn \times n 的方阵,满足:

  • 11 到 n2n^2 中的每个整数在该矩阵中恰好出现一次;
  • 若 (r1,c1)(r_1, c_1) 与 (r2,c2)(r_2, c_2) 是相邻的格子,则它们所填的数不能相邻。

输入格式

The first line contains one integer tt (1≤t≤1001 \le t \le 100). Then tt test cases follow.

Each test case is characterized by one integer nn (1≤n≤1001 \le n \le 100).

第一行包含一个整数 tt(1≤t≤1001 \le t \le 100)。随后是 tt 个测试用例。

每个测试用例由一个整数 nn(1≤n≤1001 \le n \le 100)表征。

输出格式

For each test case, output:

  • -1, if the required matrix does not exist;
  • the required matrix, otherwise (any such matrix if many of them exist).

The matrix should be outputted as nn lines, where each line contains nn integers.

对于每个测试用例,输出:

  • -1,如果所要求的矩阵不存在;
  • 否则输出所要求的矩阵(若存在多个满足条件的矩阵,输出任意一个即可)。

矩阵应以 nn 行形式输出,其中每行包含 nn 个整数。

输入输出样例

  • 输入#1

    3
    1
    2
    3

    输出#1

    1
    -1
    2 9 7
    4 6 3
    1 8 5

输入解题思路,AI测评打分。不知道怎么写?

首页