[NOIP 2015] Day.1 T1 神奇的幻方 [模拟]

来源:互联网 发布:分析句子成分的软件 编辑:程序博客网 时间:2024/04/27 15:57

这里写图片描述
这里写图片描述

#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int n;const int maxn = 50;int a[maxn][maxn];int cnt = 0;void dfs(int hang,int lie){    if(cnt == n*n)return;    if(hang==1)    {        if(lie!=n)        {            a[n][lie+1]=++cnt;            dfs(n,lie+1);        }        else         {            a[2][lie]=++cnt;            dfs(2,lie);        }    }    else if(lie==n&&hang!=1)    {        a[hang-1][1]=++cnt;        dfs(hang-1,1);    }    else if(hang!=1&&lie!=n)    {        if(!a[hang-1][lie+1])        {            a[hang-1][lie+1]=++cnt;            dfs(hang-1,lie+1);        }        else        {            a[hang+1][lie]=++cnt;            dfs(hang+1,lie);        }    }}bool flag = 0;int main(){    #define LOC    #ifdef LOC    freopen("magic.in","r",stdin);    freopen("magic.ans","w",stdout);    #endif    scanf("%d",&n);    a[1][(n+1)/2] = ++cnt;    dfs(1,(n+1)/2);    if(flag)    {        n++;    }       for(int i=1;i<=n;i++)    {        for(int j=1;j<n;j++)printf("%d ",a[i][j]);        printf("%d",a[i][n]);        printf("\n");    }    return 0;}
1 0
原创粉丝点击