#include<iostream>
using namespace std;
int a[500][500],b[500][500], n, m;
void start(void)
{
cin >> n >> m;
}
void initialize(void)
{
for (int i = 0, k = 1; i < n; i++)
for (int j = 0; j < n; j++, k++)
a[i][j]= k;
}
void splay(int x, int y, int r, int z)
{
if (z == 1)
{
for (int i = 0; i <= 2 * r; i++)
for (int j = 0; j <= 2 * r; j++)
b[i][j] = a[x - r - 1 + j][y + r - 1 - i];
for (int i = 0; i <= 2 * r; i++)
for (int j = 0; j <= 2 * r; j++)
a[x - r - 1 + i][y - r - 1 + j]=b[i][j];
}
else
{
for (int i = 0; i <= 2 * r; i++)
for (int j = 0; j <= 2 * r; j++)
b[i][j] = a[x + r - 1 - j][y - r - 1 + i];
for (int i = 0; i <= 2 * r; i++)
for (int j = 0; j <= 2 * r; j++)
a[x - r - 1 + i][y - r - 1 + j] = b[i][j];
}
}
void operate(void)
{
int x, y, z, r;
for (int i = 0; i < m; i++)
{
cin >> x >> y >> r >> z;
splay(x, y, r, z);
}
}
void show(void)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
cout << a[i][j]<<' ';
cout << endl;
}
}
int main()
{
start();
initialize();
operate();
show();
return 0;
}
洛谷P4924 [1007]魔法少女小Scarlet进阶解法
最新推荐文章于 2023-01-13 00:01:41 发布