洛谷AC,信友队全RE???!!!




#include<iostream>
#include<cstdio>
using namespace std;

const int N=40;
int n,ans[N][N];

struct node
{
	int x,y;
} num[N*N];

int main()
{
	scanf("%d",&n);
	num[1].x=1;
	num[1].y=n/2+1;
	ans[1][n/2+1]=1;
	for(int i=2;i<=n*n;i++)
	{
		if(num[i-1].x==1)
		{
			if(num[i-1].y==n)
			{
				num[i].x=num[i-1].x+1;
				num[i].y=num[i-1].y;
				ans[num[i].x][num[i].y]=i;
			}
			else
			{
				num[i].x=n;
				num[i].y=num[i-1].y+1;
				ans[num[i].x][num[i].y]=i;
			}
			continue;
		}
		if(num[i-1].y==n)
		{
			num[i].x=num[i-1].x-1;
			num[i].y=1;
			ans[num[i].x][num[i].y]=i;
			continue;
		}
		if(ans[num[i-1].x-1][num[i-1].y+1]==0)
		{
			num[i].x=num[i-1].x-1;
			num[i].y=num[i-1].y+1;
			ans[num[i].x][num[i].y]=i;
		}
		else
		{
			num[i].x=num[i-1].x+1;
			num[i].y=num[i-1].y;
			ans[num[i].x][num[i].y]=i;
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
			printf("%d ",ans[i][j]);
		printf("\n");
	}
	return 0;
}

我错哪了?!!!

3 个赞

@胡瀚予 你看看是不是两题的数据范围不一样。

3 个赞

信友队的可有500*500哦。

3 个赞

洛谷的数据范围我看不到 :sweat_smile:

3 个赞


确实…

3 个赞


3 个赞

信友队难得的数据比洛谷好

1 个赞