一直超时,求助大佬
查看原帖
一直超时,求助大佬
753009
I_am_sb___楼主2022/8/24 17:39
#include<bits/stdc++.h>
using namespace std;
int x[510],y[510],z[510],r[510];
int n,m;
int a[10000][10000], b[10000][10000];
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			a[i][j]=(i-1)*5+j;
			
	for(int i=0;i<m;i++)
		cin>>x[i]>>y[i]>>r[i]>>z[i];
		
	for(int i=0;i<m;i++)
	{
		if(z[i]==0)
		{
			for(int k=x[i]-r[i];k<=x[i]+r[i];k++)
			{
				for(int l=y[i]-r[i];l<=y[i]+r[i];l++)
				{
					int q=0,w=0;
					q=l-y[i];
					w=k-x[i];
					b[x[i]+q][y[i]-w]=a[k][l];
				}
			}
			for(int k=x[i]-r[i];k<=x[i]+r[i];k++)
			{
				for(int l=y[i]-r[i];l<=y[i]+r[i];l++)
					a[k][l]=b[k][l];
			}
		}
		if(z[i]==1)
		{
			for(int k=x[i]-r[i];k<=x[i]+r[i];k++)
			{
				for(int l=y[i]-r[i];l<=y[i]+r[i];l++)
				{
					int q=0,w=0;
					q=l-y[i];
					w=k-x[i];
					b[x[i]-q][y[i]+w]=a[k][l];
				}
			}
			for(int k=x[i]-r[i];k<=x[i]+r[i];k++)
			{
				for(int l=y[i]-r[i];l<=y[i]+r[i];l++)
					a[k][l]=b[k][l];
			}
		}
	}
	
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
			cout<<a[i][j]<<' ';
		cout<<endl;
	}
	return 0;
} 
2022/8/24 17:39
加载中...