#include <string.h>
#include <stdio.h>
#include <algorithm>
#include <string>
#include <stack>
#include <math.h>
#include <vector>
#include <iostream>
using namespace std;
int N,L,H;
struct person
{
int id;
int virtue;
int talent;
int total;
};
vector<person> p[5];
bool cmp(person a,person b)
{
if(a.total!=b.total)return a.total>b.total;
else if(a.virtue!=b.virtue)return a.virtue>b.virtue;
else return a.id<b.id;
}
int main()
{
int num[5],total=0;
scanf("%d%d%d",&N,&L,&H);
for(int i=0;i<N;i++)
{
person a;
scanf("%d%d%d",&a.id,&a.virtue,&a.talent);
a.total=a.virtue+a.talent;
if(a.talent>=L&&a.virtue>=L)
{
if(a.virtue>=H&&a.talent>=H)
{
p[0].push_back(a);
}
else if(a.virtue>=H&&a.talent<H)
{
p[1].push_back(a);
}
else if(a.virtue>=a.talent)
{
p[2].push_back(a);
}
else
{
p[3].push_back(a);
}
total++;
}
}
for(int i=0;i<4;i++)
{
sort(p[i].begin(),p[i].end(),cmp);
}
printf("%d\n",total);
for(int i=0;i<4;i++)
{
for(int j=0;j<p[i].size();j++)
{
printf("%08d %d %d\n",p[i][j].id,p[i][j].virtue,p[i][j].talent);
}
}
return 0;
}
PAT甲1062 Talent and Virtue(25 分)
最新推荐文章于 2022-06-04 16:26:00 发布