#include <iostream>
#include <vector>
using namespace std;
typedef struct Positon
{
int x;
int y;
int condition;
int score;
}Position;
class Data
{
public:
int conditionNum;
int score_num[5];
vector<Position> data;
void AddData(int x, int y);
void Compute(void);
};
void Data::Compute(void)
{
conditionNum =0;
score_num[0] = 0;
score_num[1] = 0;
score_num[2] = 0;
score_num[3] = 0;
score_num[4] = 0;
for(vector<Position>::iterator it = data.begin(); it != data.end(); ++it)
{
if(it->condition == 4)
{
conditionNum++;
score_num[it->score]++;
}
}
}
void Data::AddData(int x, int y)
{
Position position = {0};
for(vector<Position>::iterator it = data.begin(); it != data.end(); ++it)
{
if((it->x == x) && ((it->y == y + 1) || (it->y == y - 1)))
{
position.condition++;
it->condition++;
}
if((it->y == y) && ((it->x == x + 1) || (it->x == x - 1)))
{
position.condition++;
it->condition++;
}
if(((it->x == x - 1) || (it->x == x + 1)) && ((it->y == y - 1) || (it->y == y + 1)) )
{
position.score++;
it->score++;
}
}
position.x = x;
position.y = y;
data.push_back(position);
Compute();
}
Data data;
int main(void)
{
int total, x, y;
cin>>total;
for(unsigned int i=0; i<total; i++)
{
cin >> x;
cin >> y;
data.AddData(x, y);
}
cout<<data.score_num[0]<<endl;
cout<<data.score_num[1]<<endl;
cout<<data.score_num[2]<<endl;
cout<<data.score_num[3]<<endl;
cout<<data.score_num[4]<<endl;
return 0;
}
CCF191202
最新推荐文章于 2024-07-21 21:32:15 发布