文字源码:
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e3;
int n,m;
int p[maxn][maxn];
int t[maxn][maxn];
void coup(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
printf("%d ",p[i][j]);
}
cout<<endl;
}
//cout<<__func__<<":finshed\n";
}
int main(){
//freopen("P4924 [1007] 魔法少女小Scarlet.out","w",stdout);
cin>>n>>m;
for(int i=0;i<n*n;i++) p[i/n+1][i%n+1]=i+1;
while(m--){
int x,y,r,z;
cin>>x>>y>>r>>z;
z=z*2-1;
memset(t,0,sizeof(t));
for(int i=x-r;i<=x+r;i++) for(int j=y-r;j<=y+r;j++) t[i][j]=p[(j-x)*z+x][(i-y)*z*-1+y];
for(int i=x-r;i<=x+r;i++) for(int j=y-r;j<=y+r;j++) p[i][j]=t[i][j];
}
coup();
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e3;
int n,m;
int p[maxn][maxn];
int t[maxn][maxn];
void coup(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
printf("%d ",p[i][j]);
}
cout<<endl;
}
//cout<<__func__<<":finshed\n";
}
int main(){
//freopen("P4924 [1007] 魔法少女小Scarlet.out","w",stdout);
cin>>n>>m;
for(int i=0;i<n*n;i++) p[i/n+1][i%n+1]=i+1;
while(m--){
int x,y,r,z;
cin>>x>>y>>r>>z;
z=z*2-1;
memset(t,0,sizeof(t));
for(int i=x-r;i<=x+r;i++) for(int j=y-r;j<=y+r;j++) t[i][j]=p[(j-x)*z+x][(i-y)*z*-1+y];
for(int i=x-r;i<=x+r;i++) for(int j=y-r;j<=y+r;j++) p[i][j]=t[i][j];
}
coup();
return 0;
}