w求助,为什么第一个点ac,后面全re
查看原帖
w求助,为什么第一个点ac,后面全re
1656372
pyz66666楼主2025/2/6 23:20
#include <bits/stdc++.h>
using namespace std;
int a[50][50],f[50][50],cnt=1,r,z;
void change(int x, int y,int r,int z){
int l=2*r+1;
if(z==0){
for(int i=x-r;i<=x+r;i++){
for(int j=y-r;j<=y+r;j++)
f[x-y+j][y+x-i]=a[i][j];
 }
 for(int i=x-r;i<=x+r;i++){
for(int j=y-r;j<=y+r;j++)
a[i][j]=f[i][j];
}
}
 if(z==1){
for(int i=x-r;i<=x+r;i++){
for(int j=y-r;j<=y+r;j++)
f[x+y-j][y+i-x]=a[i][j];
 }
  for(int i=x-r;i<=x+r;i++){
for(int j=y-r;j<=y+r;j++)
a[i][j]=f[i][j];
}
}
}
int main(){
int n,m;
int x,y;
cin>>n>>m;
for(int i=1;i<=n;i++){
    for(int j=1;j<=n;j++)
    a[i][j]=cnt,cnt++;
}
for(int k=1;k<=m;k++){
    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]<<" ";
    cout<<endl;
}
return 0;
}
2025/2/6 23:20
加载中...