记录编号 463174 评测结果 AAAAAAAAAA
题目名称 [NOIP 2015]神奇的幻方 最终得分 100
用户昵称 Gravatar烟雨 是否通过 通过
代码语言 C++ 运行时间 0.004 s
提交时间 2017-10-23 20:46:31 内存使用 0.32 MiB
显示代码纯文本
#include<fstream>
#include<algorithm>
using namespace std;
ifstream cin("2015magic.in");
ofstream cout("2015magic.out");
int i,j,s[40][40],x,y,n,op=1;
int main()
{
	cin>>n;
	x=1;
	y=(n+1)/2;
	s[x][y]=1;
	while(op<n*n)
	{
		op++;
		if(x==1 && y!=n)
		{
			s[n][y+1]=op;
			x=n;
			y++;
			continue;
		}
	    if(y==n && x!=1)
		{
			s[x-1][1]=op;
			x--;
			y=1;
			continue;
		}
		if(x==1 && y==n)
		{
			s[2][n]=op;
			x=2;
			y=n;
			continue;
		}
		if(x!=1 && y!=n)
		{
			if(!s[x-1][y+1])
			{
				s[x-1][y+1]=op;
				x--;
				y++;
				continue;
			}
			else 
			{
				s[++x][y]=op;
				continue;
			}
		}
	}
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=n;j++)
		{
			cout<<s[i][j]<<' ';
		}
		cout<<endl;
	}
	cin.close();
	cout.close();
	return 0;
}