比赛 20190908之惊鸿 评测结果 AAAAAAAAAA
题目名称 神奇的幻方 最终得分 100
用户昵称 李俊辉 运行时间 0.006 s
代码语言 C++ 内存使用 13.66 MiB
提交时间 2019-09-09 21:07:56
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int main(){
    freopen("2015magic.in","r",stdin);
	freopen("2015magic.out","w",stdout); 
	int n;
    scanf("%d",&n);
    int num[n][n];
    memset(num,0,sizeof(num));
    num[0][n/2]=1;
    int x=0,y=n/2;
    for(int i=2;i<=n*n;i++){
        if(x==0&&y!=n-1){
            x=n-1;
            y++;
        }else if(x!=0&&y==n-1){
            y=0;
            x--;
        }else if(x==0&&y==n-1){
            x++;
        }else if(num[x-1][y+1]==0){
            x--;
            y++;
        }else{
            x++;
        }
        num[x][y]=i;
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            printf("%d",num[i][j]);
            if(j!=n-1){
                printf(" ");
            }
        }
        if(i!=n-1)
        printf("\n");
    }
    return 0;
}