记录编号 272439 评测结果 AAAAAAAAAA
题目名称 [NOIP 2015]神奇的幻方 最终得分 100
用户昵称 GravatarHzoi_ 是否通过 通过
代码语言 C++ 运行时间 0.007 s
提交时间 2016-06-16 21:27:11 内存使用 0.02 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[2010]={0};
int n;
int hash(int x,int y){
	return x*(n+1)+y;
}
void chuli(int);
int m(){
freopen("2015magic.in","r",stdin);
freopen("2015magic.out","w",stdout);
scanf("%d",&n);
int mid=n/2+1;
a[hash(1,mid)]=1;
for(int i=2;i<=n*n;i++)
{
chuli(i); 
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
printf("%d ",a[hash(i,j)]);
if(j==n)printf("\n");
}
}
}
void chuli(int k)
{
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
if(a[hash(i,j)]==k-1)
{
if(i==1&&j!=n)
{
a[hash(n,j+1)]=k;
return;
}
if(j==n&&i!=1)
{
a[hash(i-1,1)]=k;
return;
}
if(i==1&&j==n)
{
a[hash(i+1,j)]=k;
return;
}
if(a[hash(i-1,j+1)]==0)
{
a[hash(i-1,j+1)]=k;
return;
}
a[hash(i+1,j)]=k;
return;
}
}
}
int z=m();
int main()
{
;
}