我修改了一下,1-7AC,8-10TLE
```c
#include <bits/stdc++.h>
using namespace std;
int main() {
int n,m,i,j,p;
int v[501][501];
scanf("%d %d",&n,&m);
int c=1;
for (i=0;i<n;++i) {
for (j=0;j<n;++j) {
v[i][j]=c;
++c;
}
}
int x,y,r,z,r1,c1,r1s,c1s,r2,c2,r2s,c2s;
for (i=0;i<m;++i) {
scanf("%d %d %d %d",&x,&y,&r,&z);
--x;--y;
for (j=0;j<r;++j) {
int v2[501][501];
memcpy(v2,v,sizeof(v));
if (z==0) {
r1=x-r+j;c1=y-r+j;r1s=0;c1s=1;
r2=x-r+j;c2=y+r-j;r2s=1;c2s=0;
for (p=0;p<(r-j)*8;++p) {
v[r2][c2]=v2[r1][c1];
if (p==(r-j)*2) {
r1s=1;c1s=0;r2s=0;c2s=-1;
} else if (p==(r-j)*4) {
r1s=0;c1s=-1;r2s=-1;c2s=0;
} else if (p==(r-j)*6) {
r1s=-1;c1s=0;r2s=0;c2s=1;
}
r1+=r1s;c1+=c1s;r2+=r2s;c2+=c2s;
}
} else {
r1=x-r+j;c1=y-r+j;r1s=1;c1s=0;
r2=x-r+j;c2=y+r-j;r2s=0;c2s=-1;
for (p=0;p<(r-j)*8;++p) {
v[r1][c1]=v2[r2][c2];
if (p==(r-j)*2) {
r1s=0;c1s=1;r2s=1;c2s=0;
} else if (p==(r-j)*4) {
r1s=-1;c1s=0;r2s=0;c2s=1;
} else if (p==(r-j)*6) {
r1s=0;c1s=-1;r2s=-1;c2s=0;
}
r1+=r1s;c1+=c1s;r2+=r2s;c2+=c2s;
}
}
}
}
for (i=0;i<n;++i) {
for (j=0;j<n;++j) {
printf("%d ",v[i][j]);
}
printf("\n");
}
return 0;
}
```
将vector换用int二维数组,仍有3个TLE??
by Lele_Programmer @ 2023-03-29 19:29:31
考古((
by Lele_Programmer @ 2024-07-30 23:15:20
@[Lele_Programmer](/user/961972) 烤谷
by luxiaomao @ 2024-07-31 08:18:56
@[Lele_Programmer](/user/961972) 拷古
by Hongky @ 2024-08-01 13:16:55