问题 4210. -- 语法基础:幻方

4210: 语法基础:幻方

时间限制: 1 Sec  内存限制: 0 MB
提交: 2  解决: 2
[上一题][提交][讨论版][状态][下一题]

题目描述

幻方(Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。如:
三阶幻方

8 1 6
3 5 7
4 9 2

 
现给出N阶奇数幻方的组成规律
把1放在第一行正中; 按以下规律排列剩下的n*n-1个数:
(1)、每一个数放在前一个数的右上一格;
(2)、如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列;
(3)、如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行;
(4)、如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的下一行同一列的格内;
(5)、如果这个数所要放的格已经有数填入,处理方法同(4)。
 
现要求任意输入一个奇数n(n<100),输出n阶幻方的放法。

输入 [yfjchf.in]

n

输出 [yfjchf.out]

n阶幻方,n行n列,数之间以空格隔开

样例输入

3

样例输出

8 1 6
3 5 7
4 9 2

提示

标签

[上一题][提交][讨论版][状态][下一题]