AT_abc436_b.[ABC436B] Magic Square

入门

通过率:0%

AC君温馨提醒

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

题目描述

给定一个奇数 NN,且 N≥3N\geq 3。

有一个 NN 行 NN 列的网格,初始时所有格子都是空的。现在,你将按照如下步骤在每个格子里写入整数。令 (i,j)(i,j) 表示第 i+1i+1 行(自顶向下)第 j+1j+1 列(自左向右)的格子(0≤i<N,0≤j<N0\leq i<N, 0\leq j<N)。

  1. 在格子 (0,N−12)(0,\frac{N-1}{2}) 中写入 11。
  2. 重复以下操作 N2−1N^2-1 次:
    • 设 (r,c)(r,c) 是上一次写入整数的格子,kk 是上一次写入的整数。如果格子 ((r−1) mod N,(c+1) mod N)((r-1)\bmod N, (c+1)\bmod N) 为空,则在该格子写入 k+1k+1;否则,在格子 ((r+1) mod N,c)((r+1)\bmod N, c) 中写入 k+1k+1。其中 x mod Nx\bmod N 表示 xx 除以 NN 的余数。

请找出这个过程中每个格子里最终写入的整数。可以证明每个格子恰好只会被写入一个整数。

输入格式

输入从标准输入按以下格式给出:

NN

输出格式

设 ai,ja_{i,j} 表示第 (i,j)(i,j) 个格子里写入的整数,输出格式如下:

a0,0 a0,1 … a0,N−1a_{0,0}\ a_{0,1}\ \dots\ a_{0,N-1}
a1,0 a1,1 … a1,N−1a_{1,0}\ a_{1,1}\ \dots\ a_{1,N-1}
⋮\vdots
aN−1,0 aN−1,1 … aN−1,N−1a_{N-1,0}\ a_{N-1,1}\ \dots\ a_{N-1,N-1}

输入输出样例

  • 输入#1

    3

    输出#1

    8 1 6
    3 5 7
    4 9 2
  • 输入#2

    5

    输出#2

    17 24 1 8 15
    23 5 7 14 16
    4 6 13 20 22
    10 12 19 21 3
    11 18 25 2 9

说明/提示

样例解释 1

各个格子中写入的整数如下:

  1. 在格子 (0,3−12)=(0,1)(0,\frac{3-1}{2})=(0,1) 写入 11。
  2. 格子 ((0−1) mod 3,(1+1) mod 3)=(2,2)((0-1)\bmod 3, (1+1)\bmod 3) = (2,2) 为空,于是在该格子写入 22。
  3. 格子 ((2−1) mod 3,(2+1) mod 3)=(1,0)((2-1)\bmod 3, (2+1)\bmod 3) = (1,0) 为空,于是在该格子写入 33。
  4. 格子 ((1−1) mod 3,(0+1) mod 3)=(0,1)((1-1)\bmod 3, (0+1)\bmod 3) = (0,1) 已不为空,于是在格子 ((1+1) mod 3,0)=(2,0)((1+1)\bmod 3, 0) = (2,0) 写入 44。
  5. ⋮\vdots

数据范围

  • 3≤N≤993\leq N \leq 99
  • NN 是奇数。

由 ChatGPT 5 翻译

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

首页