第二第三点RE了不太明白 谢谢大佬
#include<bits/stdc++.h>
using namespace std;
int n,m,k;
int a[142][142]={0},x[50],y[50],o[50],p[50],i,xp,yp;
bool g()
{
if(x[i]-xp>=1&&x[i]+xp<=n&&y[i]-yp>=1&&y[i]+yp<=n)
{
return true;
}
else
{
return false;
}
}
int main()
{
cin>>n>>m>>k;
for(i=1;i<=m;i++)
{
cin>>x[i]>>y[i];
a[x[i]][y[i]]=1;
xp=1;
g;
if(true)
{
a[x[i]-xp][y[i]]=1;
a[x[i]+xp][y[i]]=1;
}
xp=2;
g;
if(true)
{
a[x[i]-xp][y[i]]=1;
a[x[i]+xp][y[i]]=1;
}
yp=1;
g;
if(true)
{
a[x[i]][y[i]-yp]=1;
a[x[i]][y[i]+yp]=1;
}
yp=2;
g;
if(true)
{
a[x[i]][y[i]-2]=1;
a[x[i]][y[i]+2]=1;
}
xp=1,yp=1;
g;
if(true)
{
a[x[i]-xp][y[i]-yp]=1;
a[x[i]+xp][y[i]+yp]=1;
a[x[i]-xp][y[i]+yp]=1;
a[x[i]+xp][y[i]-yp]=1;
}
}
for(i=1;i<=k;i++)
{
cin>>o[i]>>p[i];
for(int j=o[i]-2;j<=o[i]+2;j++)//X轴
{
for(int g=p[i]+2;g>=p[i]-2;g--)//Y轴
{
if(j>=1&&j<=n&&g>=1&&g<=n)
{
a[j][g]=1;
}
}
}
}
int ans=0;
for(i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]==0)
{
ans++;
}
}
}
cout<<ans;
return 0;
}