#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,k,ans=0;
cin>>n>>m>>k;
int plat[n+4][n+4];
for(int i=0;i<=n+3;i++){
for(int j=0;j<=n+3;j++){
plat[i][j]=0;
}
}
for(int i=1;i<=m;i++){
int h,l;
cin>>h>>l;
h++,l++;
plat[h-2][l]=1;
plat[h-1][l-1]=1;
plat[h-1][l]=1;
plat[h-1][l+1]=1;
plat[h][l-2]=1;
plat[h][l-1]=1;
plat[h][l]=1;
plat[h][l+1]=1;
plat[h][l+2]=1;
plat[h+1][l-1]=1;
plat[h+1][l]=1;
plat[h+1][l+1]=1;
plat[h+2][l]=1;
}
for(int i=1;i<=k;i++){
int h,l;
cin>>h>>l;
h++,l++;
plat[h-2][l-2]=1;
plat[h-2][l-1]=1;
plat[h-2][l]=1;
plat[h-2][l+1]=1;
plat[h-2][l+2]=1;
plat[h-1][l-2]=1;
plat[h-1][l-1]=1;
plat[h-1][l]=1;
plat[h-1][l+1]=1;
plat[h-1][l+2]=1;
plat[h][l-2]=1;
plat[h][l-1]=1;
plat[h][l]=1;
plat[h][l+1]=1;
plat[h][l+2]=1;
plat[h+1][l-2]=1;
plat[h+1][l-1]=1;
plat[h+1][l]=1;
plat[h+1][l+1]=1;
plat[h+1][l+2]=1;
plat[h+2][l-2]=1;
plat[h+2][l-1]=1;
plat[h+2][l]=1;
plat[h+2][l+1]=1;
plat[h+2][l+2]=1;
}
for(int i=2;i<=n+1;i++){
for(int j=2;j<=n+1;j++){
if(plat[i][j]==0) ans++;
}
}
cout<<ans;
}
本蒟蒻的代码,虽然AC了,但是总觉得看上去太繁琐。 有大佬知道这题怎么优化代码嘛?
(楼主不太常来洛谷,如果长时间未回答请耐心等待,蟹蟹!)