比赛 |
20190908之惊鸿 |
评测结果 |
AAAAAAAAAA |
题目名称 |
神奇的幻方 |
最终得分 |
100 |
用户昵称 |
梦_之_泪_伤 |
运行时间 |
0.007 s |
代码语言 |
C++ |
内存使用 |
13.70 MiB |
提交时间 |
2019-09-10 22:02:06 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[100][100];
int main(){
freopen("2015magic.in","r",stdin);
freopen("2015magic.out","w",stdout);
int i,j,n,k;
cin >> n;
memset(a,0,sizeof(a));
a[1][(n+1)/2]=1; i=1; j=(n+1)/2;
for (k=2; k <= n*n; k++){
if ((i==1)&&(j!=n)){
a[n][j+1]=k;
i=n; j++;
continue;
}
if ((j==n)&&(i!=1)){
a[i-1][1]=k;
i--; j=1;
continue;
}
if ((i==1)&&(j==n)){
a[i+1][j]=k;
i++;
continue;
}
if ((i!=1)&&(j!=n)){
if (a[i-1][j+1]==0){
a[i-1][j+1]=k;
i--; j++;
}
else{
a[i+1][j]=k;
i++;
}
}
}
for (i=1; i <= n; i++){
for (j=1; j <= n; j++)
cout << a[i][j] << ' ';
cout << endl;
}
return 0;
}