比赛 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;  
}