正在治疗自己

*17岁天才铁驭边境顶尖猎杀者*  •  2年前


include <bits/stdc++.h>

int n, a, b; int zhan[200][200]; int x, y;

const int jiu[5][5] = {

{0, 0, 1, 0, 0},
{0, 1, 1, 1, 0},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0}

};

const int xiao[5][5] = {

{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, x, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1}

};

int ans;

int main() {

scanf("%d%d%d", &n, &a, &b);
while (a--) {
	scanf("%d%d", &x, &y);
	for (int i = -2; i <= 2; i++) {
		for (int j = -2; j <= 2; j++) {
			if (x + i <= 0 || x + i > n || y + j <= 0 || y + j > n)
				continue;
			zhan[x + i][y + j] |= jiu[i + 2][j + 2];
		}
	}
}
while (b--) {
	scanf("%d%d", &x, &y);
	for (int i = -2; i <= 2; i++) {
		for (int j = -2; j <= 2; j++) {
			if (x + i <= 0 || x + i > n || y + j <= 0 || y + j > n)
				continue;
			zha[x + i][y + j] |= xiao[i + 2][j + 2];
		}
	}
}
ans = n * n;
for (int i = 1; i <= n; i++) {
	for (int j = 1; j <= n; j++) {
		if (zhan[i][j])
			ans--;
	}
}
printf("%d\n", ans);
return 0;

}


评论:

请先登录,才能进行评论