#include <iostream>
using namespace std;
int a[500][500], temp[1000][1000];
void init(int n){
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
a[i][j] = i * n + j + 1;
}
}
}
void fun(int x, int y, int r){
for(int i = x - r; i <= x + r; i++){
for(int k = y - r; k <= y + r; k++)
temp[i][k] = a[i][k];
}
int x1 = x + r, y1 = y - r;
for(int i = x - r; i <= x + r; i++){
for(int k = y - r; k <= y + r; k++){
a[i][k] = temp[x1][y1];
x1--;
}
x1 = x + r, y1++;
}
}
void fun2(int x, int y, int r){
for(int i = x - r; i <= x + r; i++){
for(int k = y - r; k <= y + r; k++)
temp[i][k] = a[i][k];
}
int x1 = x - r, y1 = y + r;
for(int i = x - r; i <= x + r; i++){
for(int k = y - r; k <= y + r; k++){
a[i][k] = temp[x1][y1];
x1++;
}
y1--, x1 = x - r;
}
}
int main(){
int n, m;
cin >> n >> m;
init(n);
for(int i = 0; i < m; i++){
int x, y, r, z;
cin >> x >> y >> r >> z;
if(z == 0){
fun(x - 1, y - 1, r);
}
if(z == 1){
fun2(x - 1, y - 1, r);
}
}
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
cout << a[i][j] << endl;
}
}
return 0;
}
为啥会WA,线路两天,改了两天,想破头都没明白!