这是一年前写的程序,20分,看不出来哪有问题。
#include<iostream>
#include<cstring>
using namespace std;
int a[110][110],x,y,n;
void ys(){
int x1 = x-2,x2 = x+2,y1 = y-2,y2 = y+2;
for(int i = x1;i<=x2;i++){
for(int j = y1;j<=y2;j++){
a[i][j] = 1;
}
}
}
void hb(){
a[x][y] = 1;
if(x-2>=0)a[x-2][y] = 1;
if(x+2<=n)a[x+2][y] = 1;
if(y-2>=0)a[x][y-2] = 1;
if(y+2<=n)a[x][y+2] = 1;
if(x-1>=0)a[x-1][y] = 1;
if(x+1<=n)a[x+1][y] = 1;
if(y-1>=0)a[x][y-1] = 1;
if(y+1<=n)a[x][y+1] = 1;
}
int main() {
int m,k;
cin>>n>>m>>k;
for(int o = 1;o<=m;o++){
cin>>x>>y;
hb();
}
for(int o = 1;o<=k;o++){
cin>>x>>y;
ys();
}
int cnt = 0;
for(int i = 1;i<=n;i++){
for(int j = 1;j<=n;j++){
if(a[i][j]==0)cnt++;
}
}
cout<<cnt;
return 0;
}