#include <iostream>
using namespace std;
int main() {
int n, i, j, x, y, nx, ny;
int a[40][40];
for (i = 0; i < 40; i++)
for (j = 0; j < 40; j++)
a[i][j] = 0;
cin >> n;
y = 0; x = n - 1;
n = 2 * n - 1;
for (i = 1; i <= n * n; i++){
a[y][x] = i;
ny = (y - 1 + n) % n;
nx = (x + 1) % n;
if ((y == 0 && x == n - 1) || a[ny][nx] != 0)
y = y + 1;
else { y = ny; x = nx;}
}
for (j = 0; j < n; j++)
cout << a[0][j] << " ";
cout << endl;
return 0;
}
/*
输入:3
输出:_________
输出: 17 24 1 8 15
这就是一个幻方…看出来的直接写,
看不出来的按照它给的规则写:
第一行中间是1,
下一个数写在上一个数的右上面那个格
(第一行的上一行是最后一行,最后一列的右面是第一列),
如果右上面那个格已经填过就填它下面那个
(能填右上填右上,填不了右上就填右面那个)
*/
NOIP2017提高组初赛 个人理解+题解
NOIP2017提高组初赛题解
NOIP 2017 提高组 初赛
noip2017提高组初赛(答案+选择题题目+个人分析)
NOIP2017提高组初赛游记 (题解&心得总结)(c++)
https://blog.csdn.net/lanshuizhiyun/article/details/78243259
NOIP2017提高组初赛题解
NOIP2017提高组预赛详解
NOIP 2017初赛普及组C/C++答案详解
NOIP2017初赛暴露的问题
1887:【15NOIP提高组】神奇的幻方
1.8 编程基础之多维数组 22 神奇的幻方 python
1.8 编程基础之多维数组 22 神奇的幻方 python-CSDN博客