德才论
#include
#include
#include
#include
using namespace std;
struct student
{
string num;
int de,cai,sum;
int cla;
};
bool cmp(student a,student b)
{
if(a.cla!=b.cla)
return a.clab.sum; //再按德才总分排序
else if(a.de!=b.de)
return a.de>b.de; //再按德分排序
else //最后按准考证号排序
return a.num>N>>L>>H;
vector stu(N);
int count1=0;
for(int i=0;i>stu[i].num>>stu[i].de>>stu[i].cai;
stu[i].sum=stu[i].de+stu[i].cai;
if(stu[i].de=H&&stu[i].cai>=H) //德才分均大于H
stu[i].cla=1;
else if(stu[i].cai=H) //才分小于H, 但德分大于H
stu[i].cla=2;
else if(stu[i].cai<=stu[i].de) //才分和德分均小于H, 但德分大于才分. 不加注释掉的条件也可以AC.
stu[i].cla=3;
else //其他通过及格线的考生
stu[i].cla=4;
}
sort(stu.begin(),stu.end(),cmp);
cout<