求救 为什么
#define MAX 1005
#include<stdio.h>
using namespace std;
int n, m;
int mtx[MAX][MAX];
void rotate(int x, int y, int r, int z)
{
char temp[MAX][MAX];
for (int i = x - r; i <= x + r; i++)
for (int j = y - r; j <= y + r; j++)
temp[i][j] = mtx[i][j];
int ti = x - r, tj = y - r;
if (z == 0)
{
for (int j = y - r; j <= y + r; j++)
{
for (int i = x + r; i >= x - r; i--)
{
mtx[ti][tj] = temp[i][j];
tj++;
}
ti++;
tj = y - r;
}
}
else if (z == 1)
{
for (int j = y + r; j >= y - r; j--)
{
for (int i = x - r; i <= x + r; i++)
{
mtx[ti][tj] = temp[i][j];
tj++;
}
ti++;
tj = y - r;
}
}
}
int main()
{
scanf("%d%d", &n, &m);
int cnt = 1;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
{
mtx[i][j] = cnt;
cnt++;
}
int x, y, r, z;
for (int i = 1; i <= m; i++)
{
scanf("%d%d%d%d", &x, &y, &r, &z);
rotate(x, y, r, z);
}
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
if (j != 1)
printf(" ");
printf("%d", mtx[i][j]);
}
printf("\n");
}
return 0;
}