神奇的幻方

测试数据来自 system/1343

作业已超过截止时间,您无法递交本题目。

时间限制:1秒  内存限制:256M


【问题描述】

  幻方是一种很神奇的 𝑁×𝑁 矩阵:它由数字 1,2,3,……,𝑁×𝑁 构成,且每行、每列 及两条对角线上的数字之和都相同。
  当 𝑁 为奇数时,我们可以通过以下方法构建一个幻方:
  首先将 1 写在第一行的中间。
  之后,按如下方式从小到大依次填写每个数 𝐾(𝐾 = 2,3,…,𝑁×𝑁) :
  1. 若 (𝐾 −1) 在第一行但不在最后一列,则将 𝐾 填在最后一行,(𝐾 −1) 所在列 的右一列;
  2. 若 (𝐾 −1) 在最后一列但不在第一行,则将 𝐾 填在第一列,(𝐾 −1) 所在行的上 一行;
  3. 若 (𝐾 −1) 在第一行最后一列,则将 𝐾 填在 (𝐾 −1) 的正下方;
  4. 若 (𝐾 −1) 既不在第一行,也不在最后一列,如果 (𝐾 −1) 的右上方还未填数, 则将 K 填在(𝐾 −1)的右上方,否则将 𝐾 填在 (𝐾 −1) 的正下方。
  现给定 𝑁,请按上述方法构造 𝑁×𝑁 的幻方。  

【输入格式】

  输入文件只有一行,包含一个整数 𝑁,即幻方的大小。

【输出格式】

  包含 𝑁 行,每行 𝑁 个整数,即按上述方法构造出的 𝑁×𝑁 的幻方。相邻 两个整数之间用单个空格隔开。

【输入输出样例】

 Input

3

 Output

8 1 6
3 5 7
4 9 2

【数据限制】

  \(100\%\) 的数据满足:\(1 ≤ N ≤ 39\) 且 \(N\) 是奇数。

【来源】

  Mr.he

二维数组练习题(二)

未认领
状态
已结束
题目
10
开始时间
2023-11-16 00:00
截止时间
2023-12-02 23:59
可延期
24.0 小时