题目描述
输入格式
输出格式
有几个点会生出怪物
输入输出样例
参考代码
#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
int arr[101][101];
memset(arr, 0, sizeof(arr)); //数组内先清零
int n, m, k;
scanf("%d%d%d", &n, &m, &k);
for (int i = 1; i <= m; i++) //第一个循环
{
int x, y;
scanf("%d%d", &x, &y); //先输入火石的坐标
x--; //因为数组的下标是从0算起,所以都要先减一
y--;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (abs(x - i) + abs(y - j) <= 2) //遍历整个数组,如果横坐标之差加上纵坐标之差小于2,则表示在火石照到的范围内。
{
arr[i][j] = 1;
}
}
}
}
for (int i = 1; i <= k; i++)//第二个循环
{
int x, y;
scanf("%d%d", &x, &y);//输入萤石的坐标
x--;//同理减一
y--;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (abs(x - i) <= 2 && abs(y - j) <= 2)//横坐标之差小于2并且纵坐标之差也小于2
{
arr[i][j] = 1;
}
}
}
}
int ans = 0;
for (int i = 0; i < n; i++)//第3个循环,统计未被照到的格子数
{
for (int j = 0; j < n; j++)
{
if (arr[i][j] == 0)
{
ans++;
}
}
}
printf("%d", ans);
}
虽然题目挺水,但是自己还是踩了很多坑,以此记录一下