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

		}
		if(a!=1&&b!=n&&!(array[a-1][b+1]==0))
		{
			array[a+1][b]=i;
			a=a+1;
			continue;

		}
	}
	for(int j=1;j<=n;j++)
	{
		for(int k=1;k<=n;k++)
		{
			fout<<array[j][k]<<" ";
		}
		fout<<endl;
	}
	fin.close();
	fout.close();
	return 0;
}