幻方(Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。如:
三阶幻方
现给出N阶奇数幻方的组成规律
把1放在第一行正中; 按以下规律排列剩下的n*n-1个数:
(1)每一个数放在前一个数的右上一格;
(2)如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列;
(3)如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行;
(4)如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的下一行同一列的格内;
(5)如果这个数所要放的格已经有数填入,处理方法同(4)。
现要求任意输入一个奇数n(n<100),输出n阶幻方的放法。
Problem F: 幻方(二维数组)
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:6
Solved:4
Description
Input
n
Output
n阶幻方,n行n列,数之间以空格隔开
Sample Input Copy
3
Sample Output Copy
8 1 6
3 5 7
4 9 2
HINT
整数0,1,2,3,4,5,6,7,……可以被分为两类,一类是1,3,5,7,9,…叫奇数;另一类是0,2,4,6,8,10…叫偶数。
整数中,能被2整除的数是偶数,不能被2整除的数是奇数。
整数中,能被2整除的数是偶数,不能被2整除的数是奇数。