求助!!!!
查看原帖
求助!!!!
598445
Emptiness_mhf楼主2022/11/16 21:41
#include<iostream>
#include<cstring>
using namespace std;

const int N = 510;
int n, m, temp;
int d[N][N], backup[N][N];

int main() {

	cin >> n >> m;
	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= n; j++)
			d[i][j] = ++temp;

	while (m--) {
		memcpy(backup, d, sizeof d);
		int x, y, r, z;
		int sx, sy;
		cin >> x >> y >> r >> z;
		if (!z) {// 顺时针的情况
			sx = x - r, sy = y - r;
			for (int i = 0; i < 2 * r + 1; i++)
				for (int j = 0; j < 2 * r + 1; j++)
					d[sx + i][sy + j] = backup[y + r - j][x - r + i];
		}
		else {
			sx = x - r, sy = y - r;
			for (int i = 0; i < 2 * r + 1; i++)
				for (int j = 0; j < 2 * r + 1; j++)
					d[sx + i][sy + j] = backup[y - r + j][x + r - i];
		}
	}
for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++)
			cout << d[i][j] << " ";
		puts("");
	}
	
	return 0;
}

只有10分 求助!!!!!!

2022/11/16 21:41
加载中...