P1789我的答案是这样的
#include<bits/stdc++.h>
using namespace std;
int main(){
int hb[13][2]={{0,2},{-1,1},{0,-1},{1,1},{-2,0},{-1,0},{0,0},{1,0},{2,0},{-1,-1},{0,-1},{1,-1},{0,-2}};
int ys[25][2]={{-2,2},{-1,2},{0,2},{1,2},{2,2},{-2,1},{-1,1},{0,1},{1,1},{2,1},{-2,0},{-1,0},{0,0},{1,0},{2,0},{-2,-1},{-1,-1},{0,-1},{1,-1},{2,-1},{-2,-2},{-1,-2},{0,-2},{1,-2},{2,-2}};
bool map[110][110];
int n,m,k,x,y,cnt=0;
memset(map,true,sizeof(map));
cin>>n>>m>>k;
for(int i=1;i<=m;i++){
cin>>x>>y;
for(int j=0;j<13;j++) map[x+1 + hb[j][0]][y+1 + hb[j][1]]=false;
}
for(int i=1;i<=m;i++){
cin>>x>>y;
for(int j=0;j<25;j++) map[x+1 + ys[j][0]][y+1 + ys[j][1]]=false;
}
for(int i=2;i<=n+2-1;i++){
for(int j=2;j<=n+2-1;j++){
if(map[i][j]==true){
cnt++;
}
}
}
cout<<cnt;
return 0;
}
本从来不刷水题的蒟蒻在此一问,这道题我错哪了?