求帮忙,第10题 ac,其他全部wa
查看原帖
求帮忙,第10题 ac,其他全部wa
612360
muhouchen楼主2022/10/29 16:24
#include<stdio.h>
int n,m;
int arr[505][505];
int temp=1,x,y,r,z;
int main()
{
	scanf("%d %d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			arr[i][j]=temp;
			temp++;
		}
	}
	while(m--)
	{
		scanf("%d %d %d %d",&x,&y,&r,&z);
		for(int i=x-r;i<=x+r;i++)
		{
			for(int j=y-r;j<=i;j++)
			{
				int t=arr[i][j];
				arr[i][j]=arr[j][i];
				arr[j][i]=t;
			}
		}//主对角线翻转
		if(z==1)
		{
			for(int i=x-r;i<=x+r;i++)
			{
				for(int j=y-r;j<=y;j++)
				{
				int t=arr[i][j];
				arr[i][j]=arr[i][2*y-j];
				arr[i][2*y-j]=t;
				}
			}
		}//垂直中线翻转
		else
		{
			for(int i=x-r;i<=x;i++)
			{
				for(int j=y-r;j<=y+r;j++)
				{
					int t=arr[i][j];
					arr[i][j]=arr[2*x-i][j];
					arr[2*x-i][j]=t;
				}
			}	
		}//水平中线翻转
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
			printf("%d ",arr[i][j]);
		printf("\n");
	}
	return 0;
}

样例过了

2022/10/29 16:24
加载中...