#2#3点RE可能是二维数组开大了,建议大小a[1005][1005]
————————附带代码————————
#include<bits/stdc++.h>
using namespace std;
int a[1005][1005];
int main(){
int n,m,k,x,y;
cin>>n>>m>>k;
for(int i=1;i<=m;i++){
cin>>x>>y;
a[x][y]=-1;
}
for(int i=0;i<k;i++){
cin>>x>>y;
a[x][y]=-2;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]==-1){
if(a[i-1][j]==0)a[i-1][j]=1;
if(a[i-2][j]==0)a[i-2][j]=1;
if(a[i+1][j]==0)a[i+1][j]=1;
if(a[i+2][j]==0)a[i+2][j]=1;
if(a[i][j+1]==0)a[i][j+1]=1;
if(a[i][j-1]==0)a[i][j-1]=1;
if(a[i][j-2]==0)a[i][j-2]=1;
if(a[i][j+2]==0)a[i][j+2]=1;
if(a[i-1][j-1]==0)a[i-1][j-1]=1;
if(a[i-1][j+1]==0) a[i-1][j+1]=1;
if(a[i+1][j-1]==0)a[i+1][j-1]=1;
if(a[i+1][j+1]==0)a[i+1][j+1]=1;
}
else if(a[i][j]==-2){
for(int k=i-2;k<=i+2;k++){
for(int k2=j-2;k2<=j+2;k2++){
if(a[k][k2]==-1||a[k][k2]==-2){
continue;
}
a[k][k2]=1;
}
}
}
}
}
int s=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]==0){
s++;
}
}
}
cout<<s;
}
————————附带代码————————