代码求调

P4924 [1007] 魔法少女小Scarlet

发现x,y整反了,但还是80pts 修改后的代码 ```cpp #include<bits/stdc++.h> using namespace std; const int maxn=505; int n,m,a[maxn][maxn],b[maxn][maxn]; inline int read(){ int ret=0,f=1;char ch=getchar(); while(!isdigit(ch)){if(ch=='-')f=-f;ch=getchar();} while(isdigit(ch))ret=(ret<<3)+(ret<<1)+(ch&15),ch=getchar(); return ret*f; } int main(){ n=read(),m=read();int k=1; for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)a[i][j]=i*n+j-n; while(m--){ int x=read(),y=read(),r=read(),z=read(); if(k&1){ memcpy(b,a,sizeof b); if(z)for(int i=x-r;i<=x+r;i++)for(int j=y-r;j<=y+r;j++)b[x+y-j][y-x+i]=a[i][j]; else for(int i=x-r;i<=x+r;i++)for(int j=y-r;j<=y+r;j++)b[x-y+j][y+x-i]=a[i][j]; } else{ memcpy(a,b,sizeof a); if(z)for(int i=x-r;i<=x+r;i++)for(int j=y-r;j<=y+r;j++)a[x+y-j][y-x+i]=b[i][j]; else for(int i=x-r;i<=x+r;i++)for(int j=y-r;j<=y+r;j++)a[x-y+j][y+x-i]=b[i][j]; } k++; } if(k){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++)printf("%d ",a[i][j]); putchar('\n'); } } else{ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++)printf("%d ",b[i][j]); putchar('\n'); } } return 0; } ```
by ZYC_zyc @ 2024-08-09 16:42:34


。。。你上面用了if(k&1),怎么下面直接if(k)了呢。。。最后输出改if(k&1)就AC
by Doppler @ 2024-08-11 16:48:35


...
by ZYC_zyc @ 2024-08-11 19:48:34


可能脑子抽了吧 **QWQ**
by ZYC_zyc @ 2024-08-11 19:49:14


|