```c
#include<bits/stdc++.h>
#define itn int
using namespace std;
itn n,m,px,py,pr,pz,ans[502][502],sz[502][502],t[510][510];
void fz(int x,int y,int a){
int xx=1,yy=1;
for(int i=x-a;i<=x+a;i++)
{
for(int j=y-a;j<=y+a;j++)
{
sz[xx][yy]=ans[i][j];
yy++;
}
yy=1,xx++;
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)for(int j=1;j<=n;j++) ans[i][j]=(i-1)*n+j;
// for(int i=1;i<=n;i++){
// for(int j=1;j<=n;j++) cout<<ans[i][j]<<" ";
// cout<<"\n";
// }cout<<"\n\n";
for(int i=0;i<m;i++){
cin>>px>>py>>pr>>pz;
fz(px,py,pr);
// for(itn j=px-pr;j<=px+pr;j++){
// for(itn k=py-pr;k<=py+pr;k++) cout<<sz[j][k]<<" ";
// cout<<"\n";
// }cout<<"\n";
if(!pz){
for(itn j=1;j<=2*pr+1;j++)for(itn k=1;k<=2*pr+1;k++) t[k][2*pr + 2 - j]=sz[j][k];
}else{
for(itn j=1;j<=2*pr+1;j++)for(itn k=1;k<=2*pr+1;k++) t[2*pr+2 - k][j]=sz[j][k];
}
int xx=1,yy=1;
for(int j=px-pr;j<=px+pr;j++)
{
for(int k=py-pr;k<=py+pr;k++)
{
ans[j][k]=t[xx][yy++];
}
yy=1,xx++;
}
// for(int i=1;i<=n;i++){
// for(int j=1;j<=n;j++) cout<<ans[i][j]<<" ";
// cout<<"\n";
// }cout<<"\n\n";
}
// cout<<"\n\n\n";
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++) cout<<ans[i][j]<<" ";
cout<<"\n";
}
return 0;
}
```
我给你改了,有不懂的明天再说,我要去拿外套了
@[张一2010](/user/1038838)
by Tommyzheng11 @ 2024-04-10 18:18:35