*17岁天才铁驭边境顶尖猎杀者* • 2年前
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;
}
评论:
请先登录,才能进行评论