#include<iostream>
using namespace std;
typedef struct Node{
int x,y;
int up,down,left,right;
int score;
}Node;
int main(){
Node node[1400];//不知道为什么至少是1400才满分,题目说明1<=n<=1000
int res[5]={0};
int n;
cin>>n;
for(int i=0;i<n;i++){//输入垃圾的坐标x,y
cin>>node[i].x>>node[i].y;
node[i].score=0;
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(node[j].x==node[i].x+1 && node[j].y==node[i].y)node[i].right=1;//右边有垃圾
if(node[j].x==node[i].x-1 && node[j].y==node[i].y)node[i].left=1;
if(node[j].x==node[i].x && node[j].y==node[i].y+1)node[i].up=1;
if(node[j].x==node[i].x && node[j].y==node[i].y-1)node[i].down=1;
if(node[j].x==node[i].x+1 && node[j].y==node[i].y+1)node[i].score++;//右上角有垃圾
if(node[j].x==node[i].x+1 && node[j].y==node[i].y-1)node[i].score++;
if(node[j].x==node[i].x-1 && node[j].y==node[i].y-1)node[i].score++;
if(node[j].x==node[i].x-1 && node[j].y==node[i].y+1)node[i].score++;
}
if(node[i].up==1 && node[i].down==1 && node[i].left==1 && node[i].right==1){
res[node[i].score]++;
}
}
for(int i=0;i<5;i++)
cout<<res[i]<<endl;//得分为 0.1.2.3.4的回收站选址个数
}
201912-2 回收站选址
最新推荐文章于 2024-01-07 17:19:35 发布