#383. 幻方
幻方
题目描述
某天,FLUC在网上看见了传说中的洛书,觉得很神奇,就开始研究起了奇数阶幻方。但是,由于他是个脑残不会填幻方,便求助于你。
幻方是一种很神奇的 N*N 矩阵:它由数字 构成,且每行、每列及两条对角线上的数字之和都相同。
当 N 为奇数时,我们可以通过下方法构建一个幻方:
首先将 1 写在第一行的中间。
之后,按如下方式从小到大依次填写每个数 ) :
若 (K-1)在第一行但不在最后一列,则将 K 填在最后一行, (K-1)所在列的右一列; 若 (K-1) 在最后一列但不在第一行,则将 K 填在第一列, (K-1)所在行的上一行; 若 (K-1)在第一行最后一列,则将 K 填在 (K-1)的正下方; 若 (K-1)既不在第一行,也不在最后一列,如果 (K-1)的右上方还未填数,则将 K 填在 (K-1)的右上方,否则将 K 填在 (K-1)的正下方。 现给定 N ,请按上述方法构造 的幻方。
输入格式(Magic.in)
一行,为幻方的阶数(保证是奇数)
输出格式(Magic.out)
的幻方(填法用罗伯法),右对齐6位输出。
样例
输入样例
3
输出样例
8 1 6
3 5 7
4 9 2
数据范围与提示