比赛 20151207初中练习 评测结果 AAAAAAAAAA
题目名称 神奇的幻方 最终得分 100
用户昵称 烟雨 运行时间 0.007 s
代码语言 C++ 内存使用 0.35 MiB
提交时间 2015-12-07 20:42:18
显示代码纯文本
#include<fstream>
using namespace std;
ifstream fin("2015magic.in");
ofstream fout("2015magic.out");
int n,q[101][101],a,b;
int lnh(int x,int a,int b)
{
	for(int i=2;i<=x*x;i++)
	{
		if(a==1 && b!=n)
		{
			q[n][b+1]=i;
			a=n;b=b+1;
			continue;
		}
		if(b==n && a!=1)
		{
			q[a-1][1]=i;
			a=a-1;b=1;
			continue;
		}
		if(a==1 && b==n)
		{
			q[a+1][b]=i;
			a=a+1;b=b;
			continue;
		}
		if(a!=1 && b!=n)
		{
			if(q[a-1][b+1]==0)
			{
				q[a-1][b+1]=i;
				a=a-1;b=b+1;
				continue;
			}
			else
		    {
			    q[a+1][b]=i;
			    a=a+1;b=b;
			    continue;
			}
		}
	}
	return 0;
}
int main()
{
	fin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			q[i][j]==0;
		}
	}
	q[1][(n+1)/2]=1;
	lnh(n,1,(n+1)/2);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			fout<<q[i][j]<<' ';
		}
		fout<<endl;
	}
	fin.close();
	fout.close();
	return 0;
}