```c
#include<stdio.h>
int mul(int x,int y)
{
int s=x*y;
if(s<0)
return -s;
else
return s;
}
int main(){
int m,n,k,x[200]={0},y[200]={0},o[200]={0},p[200]={0},dy[200][200]={0};//m为火把数,k为萤石数,n为n*n方阵
scanf("%d %d %d",&n,&m,&k);
for(int i=3;i<m+3;i++)//火把亮点
{
scanf("%d %d",&x[i],&y[i]);
x[i]+=2;
y[i]+=2;
for(int a=-2;a<=2;a++)
{
for(int b=-2;b<=2;b++)
{
if(mul(a,b)!=2&&mul(a,b)!=4)
dy[x[i]+a][y[i]+b]++;
}
}
}
for(int i=3;i<k+3;i++)//萤石亮点
{
scanf("%d %d",&o[i],&p[i]);
o[i]+=2;
p[i]+=2;
for(int x=-2;x<=2;x++)
{
for(int y=-2;y<=2;y++)
{
dy[o[i]+x][p[i]+y]++;
}
}
}
int count=0;
for(int a=3;a<n+3;a++)//黑暗数
{
for(int b=3;b<n+3;b++)
{
if(dy[a][b]==0)
count++;
}
}
printf("%d",count);
return 0;
}
```
by wjw1948451261 @ 2024-01-29 23:30:28