有没有dalao调一下 只有前两个点AC,并且后面的点不开O2就RE
#include<bits/stdc++.h>
using namespace std;
int n,m,a[505][505],b[5000];
void change(int x,int y,int r,int z)
{
int sum=0;
x-=r;
y-=r;
r=2*r;
int c=x+r,d=y+r;
for (int i=x;i<=c;i++)
for (int j=y;j<=d;j++)
b[++sum]=a[i][j];
sum=0;
if (z==1)
{
for (int j=y;j<=d;j++)
for (int i=c;i>=x;i--)
a[i][j]=b[++sum];
}
if (z==0)
{
for (int j=d;j>=y;j--)
for (int i=x;i<=c;i++)
a[i][j]=b[++sum];
}
return;
}
int main()
{
cin >> n >> m;
int cnt=1;
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
{
a[i][j]=cnt;
cnt++;
}
while (m--)
{
int x,y,r,z;
cin >> x >> y >> r >> z;
change(x,y,r,z);
}
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
{
cout << a[i][j] << " ";
if (j==n) cout << endl;
}
return 0;
}