回收站选址
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> PII;
set<PII> se;
int res[5];
bool check(int x,int y)
{
int xt[4]={1,0,-1,0},yt[4]={0,-1,0,1};
for(int i=0;i<4;i++)
if(se.count({x+xt[i],y+yt[i]})==0)
return false;
return true;
}
int main()
{
int n;
scanf("%d",&n);
int x,y;
for(int i=0;i<n;i++)
{
scanf("%d%d",&x,&y);
se.insert({x,y});
}
int xt[4]={1,1,-1,-1},yt[4]={1,-1,1,-1};
for(auto it=se.begin();it!=se.end();it++)
{
int a=it->first,b=it->second;
if(check(a,b))
{
int cnt=0;
for(int i=0;i<4;i++)
{
if(se.count({a+xt[i],b+yt[i]}))
cnt++;
}
res[cnt]++;
}
}
for(int i=0;i<5;i++)
printf("%d\n",res[i]);
return 0;
}