5 1 0 3 3能过 5 1 1 3 3 3 3直接炸 求助,数组也+10了
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m,k;
cin>>n>>m>>k;
int basem[m+10];
int basem2[m+10];
int basek[k+10];
int basek2[k+10];
int cube[n+10][n+10];
for(int i=0;i<=n+10;i++)
for(int j=0;j<=n+10;j++)
cube[i][j]=0;
memset(basem,0,sizeof(basem));
memset(basem2,0,sizeof(basem2));
memset(basek,0,sizeof(basek));
memset(basek2,0,sizeof(basek2));
for(int i=1;i<=m;i++)
cin>>basem[i]>>basem2[i];
for(int i=1;i<=k;i++)
cin>>basek[i]>>basek2[i];
for(int i=1;i<=m;i++){
cube[basem[i]][basem2[i]]=1;
cube[basem[i]+1][basem2[i]+1]=1;
cube[basem[i]+1][basem2[i]-1]=1;
cube[basem[i]-1][basem2[i]-1]=1;
cube[basem[i]-1][basem2[i]+1]=1;
cube[basem[i]+1][basem2[i]]=1;
cube[basem[i]+2][basem2[i]]=1;
cube[basem[i]][basem2[i]+1]=1;
cube[basem[i]][basem2[i]+2]=1;
cube[basem[i]-1][basem2[i]]=1;
cube[basem[i]-2][basem2[i]]=1;
cube[basem[i]][basem2[i]-1]=1;
cube[basem[i]][basem2[i]-2]=1;
}
for(int i=1;i<=k;i++)
for(int j=basek[i]-2;j<=basek[i]+2;j++)
for(int k=basek2[i]-2;j<=basek2[i]+2;k++)
cube[j][k]=1;
int total=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(cube[i][j]==0){
total++;
}
//for(int i=1;i<=n;i++)
//for(int j=1;j<=n;j++)
//cout<<cube[i][j]<<' ';//DEBUGER
cout<<total;
return 0;
}