求大神指点!70分
查看原帖
求大神指点!70分
954412
heficno楼主2023/7/18 20:36
#include<iostream>
#include<algorithm>

using namespace std;

const int N = 510;

int n, m, mp[N][N], t[N][N];

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr), cout.tie(nullptr);

	cin >> n >> m;

	for(int i = 1, cnt = 1; i <= n; i ++)
		for(int j = 1; j <= n; j ++, cnt ++)
			mp[i][j] = cnt;

	while(m -- )
	{
		int x, y, r, z;
		cin >> x >> y >> r >> z;

		if(z == 0)
		{
			for(int j = y - r, a = x - r; j <= y + r; j ++, a ++)
				for(int i = x + r, b = y - r; i; i --, b ++)
					t[a][b] = mp[i][j];
	

			for(int i = x - r; i <= x + r; i ++)
				for(int j = y - r; j <= y + r; j ++)
					mp[i][j] = t[i][j];	
					
		}
		else
		{
			for(int j = y + r, a = x - r; j; j --, a ++)
				for(int i = x - r, b = y - r; i <= x + r; i ++, b ++)
					t[a][b] = mp[i][j];


			for(int i = x - r; i <= x + r; i ++)
				for(int j = y - r; j <= y + r; j ++)
					mp[i][j] = t[i][j];		
		}
	}

	for(int i = 1; i <= n; i ++){
		for(int j = 1; j <= n; j ++)
			cout << mp[i][j] << ' ';
		cout << endl;	
	}

	return 0;
}
2023/7/18 20:36
加载中...