题目:http://118.190.20.162/view.page?gpid=T99
满分
#include <bits/stdc++.h>
using namespace std;
map<pair<int,int>,bool>mp;
int check(pair<int,int>p)
{
int x=p.first,y=p.second;
int num=0;
if(mp[{x,y+1}]&&mp[{x,y-1}]&&mp[{x-1,y}]&&mp[{x+1,y}])
{
if(mp[{x-1,y+1}]) num++;
if(mp[{x-1,y-1}]) num++;
if(mp[{x+1,y+1}]) num++;
if(mp[{x+1,y-1}]) num++;
}
else
num=-1;
return num;
}
int main()
{
ios::sync_with_stdio(false);
int n;
cin>>n;
int x,y;
pair<int,int>p[n];
for(int i=0;i<n;i++)
{
cin>>x>>y;
mp[{x,y}]=1;
p[i]={x,y};
}
int num[5]={0};
for(auto i=0;i<n;i++)
{
if(check(p[i])==0)
num[0]++;
else if(check(p[i])==1)
num[1]++;
else if(check(p[i])==2)
num[2]++;
else if(check(p[i])==3)
num[3]++;
else if(check(p[i])==4)
num[4]++;
}
for(int i=0;i<5;i++)
{
cout<<num[i]<<endl;
}
return 0;
}