CF1520C.Not Adjacent Matrix
入门
通过率:0%
时间限制:4.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
We will consider the numbers a and b as adjacent if they differ by exactly one, that is, ∣a−b∣=1.
We will consider cells of a square matrix n×n as adjacent if they have a common side, that is, for cell (r,c) cells (r,c−1), (r,c+1), (r−1,c) and (r+1,c) are adjacent to it.
For a given number n, construct a square matrix n×n such that:
- Each integer from 1 to n2 occurs in this matrix exactly once;
- If (r1,c1) and (r2,c2) are adjacent cells, then the numbers written in them must not be adjacent.
我们将称两个数 a 和 b 是相邻的,如果它们的差的绝对值恰好为 1,即 ∣a−b∣=1。
我们将称一个 n×n 方阵中的两个格子是相邻的,如果它们有一条公共边,即:对于格子 (r,c),与其相邻的格子为 (r,c−1)、(r,c+1)、(r−1,c) 和 (r+1,c)。
对给定的正整数 n,请构造一个 n×n 的方阵,满足:
- 1 到 n2 中的每个整数在该矩阵中恰好出现一次;
- 若 (r1,c1) 与 (r2,c2) 是相邻的格子,则它们所填的数不能相邻。
输入格式
The first line contains one integer t (1≤t≤100). Then t test cases follow.
Each test case is characterized by one integer n (1≤n≤100).
第一行包含一个整数 t(1≤t≤100)。随后是 t 个测试用例。
每个测试用例由一个整数 n(1≤n≤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 n lines, where each line contains n integers.
对于每个测试用例,输出:
-1,如果所要求的矩阵不存在;- 否则输出所要求的矩阵(若存在多个满足条件的矩阵,输出任意一个即可)。
矩阵应以 n 行形式输出,其中每行包含 n 个整数。
输入输出样例
输入#1
3 1 2 3
输出#1
1 -1 2 9 7 4 6 3 1 8 5
输入解题思路,AI测评打分。不知道怎么写?