码迷,mamicode.com
首页 > 其他好文 > 详细

COGS 2104. [NOIP2015]神奇的幻方

时间:2017-08-26 04:47:38      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:http   blog   pen   color   stdin   for   文件   简单   scan   

★   输入文件:2015magic.in   输出文件:2015magic.out   简单对比
时间限制:1 s   内存限制:256 MB

技术分享

技术分享

技术分享

 模拟

一开始数组开小了。。

屠龙宝刀点击就送

#include <cstdio>
int n,h[1600],l[1600],hf[45][45];
int main()
{
    freopen("2015magic.in","r",stdin);freopen("2015magic.out","w",stdout);
    scanf("%d",&n);
    hf[1][n/2+1]=1;
    h[1]=1;l[1]=n/2+1;
    for(int i=2;i<=n*n;++i)
    {
        if(h[i-1]==1&&l[i-1]!=n) h[i]=n,l[i]=l[i-1]+1,hf[h[i]][l[i]]=i;
        else if(h[i-1]!=1&&l[i-1]==n) h[i]=h[i-1]-1,l[i]=1,hf[h[i]][l[i]]=i;
        else if(h[i-1]==1&&l[i-1]==n) h[i]=h[i-1]+1,l[i]=l[i-1],hf[h[i]][l[i]]=i;
        else if(h[i-1]!=1&&l[i-1]!=n)
        {
            if(!hf[h[i-1]-1][l[i-1]+1])
            h[i]=h[i-1]-1,l[i]=l[i-1]+1,hf[h[i]][l[i]]=i;
            else h[i]=h[i-1]+1,l[i]=l[i-1],hf[h[i]][l[i]]=i;
        }
    }
    for(int i=1;i<=n;++i)
     for(int j=1;j<=n;++j)
      j!=n?printf("%d ",hf[i][j]):printf("%d\n",hf[i][j]);
    return 0;
}

 

COGS 2104. [NOIP2015]神奇的幻方

标签:http   blog   pen   color   stdin   for   文件   简单   scan   

原文地址:http://www.cnblogs.com/ruojisun/p/7429732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!