暴力就完了,数据量很小,所以可以过
#include <iostream>
#include <cmath>
#include<algorithm>
using namespace std;
int n;
struct rub{
int x;
int y;
int grade = 0;
int shifou =0;
}a[1005];
int main(){
cin>>n;
for(int i = 0;i<n;i++){
cin>>a[i].x>>a[i].y;
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(a[i].x==a[j].x-1&&a[i].y==a[j].y){
a[i].shifou++;
}
if(a[i].x==a[j].x+1&&a[i].y==a[j].y){
a[i].shifou++;
}
if(a[i].x==a[j].x&&a[i].y==a[j].y+1){
a[i].shifou++;
}
if(a[i].x==a[j].x&&a[i].y==a[j].y-1){
a[i].shifou++;
}
if(a[i].x==a[j].x+1&&a[i].y==a[j].y-1){
a[i].grade++;
}
if(a[i].x==a[j].x+1&&a[i].y==a[j].y+1){
a[i].grade++;
}
if(a[i].x==a[j].x-1&&a[i].y==a[j].y-1){
a[i].grade++;
}
if(a[i].x==a[j].x-1&&a[i].y==a[j].y+1){
a[i].grade++;
}
}
}
int b[5]={0};
for(int i =0;i<n;i++){
if(a[i].shifou==4){
b[a[i].grade]++;
}
}
for(int i=0;i<5;i++){
cout<<b[i]<<endl;
}
return 0;
}