\color{red}\text{WA}$$\ \times\ 7+\color{purple}\text{RE}$$\ \times\ 2+\color{green}\text{AC}$$\ \times\ 1
#include<bits/stdc++.h>
using namespace std;
const int N = 505;
int a[N][N],b[N][N],n,m,x,y,r,z;
void work1(int x,int y,int r){
for(int i=x;i<=x+r-1;i++)for(int j=y;j<=y+r-1;j++)b[i][j]=a[x+r-1-(j-x)][i];
for(int i=x;i<=x+r-1;i++)for(int j=y;j<=y+r-1;j++)a[i][j]=b[i][j];
}
void work2(int x,int y,int r){
for(int i=x;i<=x+r-1;i++)for(int j=y;j<=y+r-1;j++)b[i][j]=a[j][x+r-1-(i-x)];
for(int i=x;i<=x+r-1;i++)for(int j=y;j<=y+r-1;j++)a[i][j]=b[i][j];
}
void work(int x,int y,int r,int z){
switch(z){
case 0:work1(x-r,y-r,r*2+1);return;
case 1:work2(x-r,y-r,r*2+1);return;
}
}
int main(){
cin>>n>>m;
int top=1;
for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)a[i][j]=top++;
for(int i=1;i<=m;i++){
scanf("%d %d %d %d",&x,&y,&r,&z);
work(x,y,r,z);
}
for(int i=1;i<=n;i++,putchar('\n'))
for(int j=1;j<=n;j++)printf("%d ",a[i][j]);
return 0;
}