0分求调 输出结果对着呢 但是没分
查看原帖
0分求调 输出结果对着呢 但是没分
1549298
dxyyy楼主2025/1/14 17:20
#include<iostream>
using namespace std;
int main()
{
	int n, m,i,j,h,l,s,num[100][100],huan[100][100]={0}, shu = 1, x[100], y[100], r[100], z[100];
	cin >> n >> m;
	for (i = 1; i <= n; i++)
		for (j = 1; j <= n; j++)
		{
			num[i][j] = shu;
			shu++;
		}
	for (i = 1; i <= m; i++)
		cin >> x[i] >> y[i] >> r[i] >> z[i];
	for (i = 1; i <= m; i++)
	{
		if (z[i] == 0)
		{
			for (j = x[i] - r[i]; j <= x[i] + r[i]; j++)
				for (h = y[i] - r[i]; h <= y[i] + r[i]; h++)
				{
					huan[h][x[i] + y[i]  - j] = num[j][h];
				}
			for (j = x[i] - r[i]; j <= x[i] + r[i]; j++)
				for (h = y[i] - r[i]; h <= y[i] + r[i]; h++)
				{
					num[j][h] = huan[j][h];
				}
		}
		else if (z[i] == 1)
		{
			for (j = x[i] - r[i]; j <= x[i] + r[i]; j++)
				for (h = y[i] - r[i]; h <= y[i] + r[i]; h++)
				{
					huan[x[i] + y[i] - h][j] = num[j][h];
				}
			for (j = x[i] - r[i]; j <= x[i] + r[i]; j++)
				for (h = y[i] - r[i]; h <= y[i] + r[i]; h++)
				{
					num[j][h] = huan[j][h];
				}
		}
	}
	for (i = 1; i <= n; i++)
	{
		for (j = 1; j <= n; j++)
			cout << num[i][j] << ' ';
		if (i!=n)cout << '\n';
	}
	return 0;
}
2025/1/14 17:20
加载中...