求大佬调(0分但感觉自己思路对)
查看原帖
求大佬调(0分但感觉自己思路对)
1478648
luoguofwangliming楼主2025/6/19 17:49
#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,r,z,sz[501][501],l;
void xz(int x,int y,int r,int z)
{
	if(z==1)
	{
		xz(x,y,r,0);
		xz(x,y,r,0);
		xz(x,y,r,0);
		return;
	}
	int t[501][501];
	for(int i=x;i<=x+r-1;i++)
	{
		for(int j=y;j<=y+r-1;j++)
		{
			t[i-x+1][j-y+1]=sz[i][j];
		}
	}
	for(int i=1;i<=r;i++)
	{
		for(int j=1;j<=r;j++)
		{
			t[i][j]=t[r-i+1][j];
		}
	}
	for(int i=x;i<=x+r-1;i++)
	{
		for(int j=y;j<=y+r-1;j++)
		{
			sz[i][j]=t[i-x+1][j-y+1];
		}
	}
	return;
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			l++;
			sz[i][j]=l;
		}
	}
	for(int i=1;i<=m;i++)
	{
		scanf("%d%d%d%d",&x,&y,&r,&z);
		xz(x-r,y-r,r*2+1,z);
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			printf("%d ",sz[i][j]);
		}
		printf("\n");
	}
	return 0;
}
2025/6/19 17:49
加载中...