MnZn求助不知道哪里错了
查看原帖
MnZn求助不知道哪里错了
368346
小明小红楼主2024/3/9 10:05

RT,全错

#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll n,l,r;
ll ans[1000009];
int main()
{
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	cin>>n;
	if(n==3)
	{
		cout<<"5 3 1\n";
		cout<<"9 7 8\n";
		cout<<"6 2 4\n";
		return 0;
	}
	else if(n==4)
	{
		cout<<"15 11 16 12\n";
		cout<<"13 3 6 9\n";
		cout<<"14 7 8 1\n";
		cout<<"4 2 8 5\n";
		return 0;		
	}
	else if(n==5)
	{
		cout<<"1 3 9 11 17\n";
		cout<<"19 21 23 7 25\n";
		cout<<"13 5 15 18 24\n";
		cout<<"2 22 12 4 6\n";
		cout<<"8 10 14 16 20\n";
		return 0;
	}
	l=1,r=n*n;
	for(ll i=1;i<=n*n;i++)
	{
		if(i%3!=0)
		{
			if(i%2==0)
			{
				ans[l]=i;
				l++;
			}
			else
			{
				ans[r]=i;
				r--;
			}
		}
	}
	for(ll i=3;i<=n*n;i+=3)
	{
		if(i%2==0)
		{
			ans[l]=i;
			l++;
		}
		else
		{
			ans[r]=i;
			r--;
		}
	}
	for(ll i=1;i<=n;i++)
	{
		for(ll j=1;j<=n;j++)
		{
			cout<<ans[(i-1)*n+j]<<' ';
		}
		cout<<"\n";
	}
	return 0;
}
2024/3/9 10:05
加载中...