80,求助
查看原帖
80,求助
741592
caikun楼主2022/11/18 23:06
#include<iostream>
using namespace std;

int a[100][100] = { 0 };

int main()
{
	int n, m, k,x,y,o,p,i,j,cnt=0;
	cin >> n >> m >> k;
	//火把点亮
	while (m--)
	{
		cin >> x >> y;
		x = x + 2;
		y = y + 2;
		a[x - 1][y - 1] = 1;
		a[x - 1][y + 1] = 1;
		a[x + 1][y - 1] = 1;
		a[x + 1][y + 1] = 1;
		a[x - 2][y] = 1;
		a[x - 1][y] = 1;
		a[x][y] = 1;
		a[x + 1][y] = 1;
		a[x + 2][y] = 1;
		a[x][y - 2] = 1;
		a[x][y - 1] = 1;
		a[x][y + 1] = 1;
		a[x][y + 2] = 1;
	}
	//萤石点亮
	while (k--)
	{
		cin >> o >> p;
		o = o + 2;
		p = p + 2;
		for (j = p - 2; j <= p + 2; j++)
		{
			a[o - 2][j] = 1;
			a[o - 1][j] = 1;
			a[o][j] = 1;
			a[o + 1][j] = 1;
			a[o + 2][j] = 1;
		}
	}
	//找未点亮的地方
	for(i = 3;i <= n+2;i++)
	{
		for (j = 3; j <= n+2;j++)
		{
			if (a[i][j] == 0)
				cnt++;
		}
	}
	cout << cnt;
	return 0;
}
2022/11/18 23:06
加载中...