P1093 [NOIP2007 普及组] 奖学金
sort排序即可
注意cmp的写法
#include<iostream>
#include<algorithm>
using namespace std;
struct node
{
int id;
int chinese;
int math;
int english;
int count;
}a[305];
int cmp(node& a,node& b)
{
if(a.count!=b.count){
return a.count>b.count;}
else if(a.chinese!=b.chinese){
return a.chinese>b.chinese;}
return a.id<b.id;
}
int main()
{
int n,i;
int count=0;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i].chinese;
cin>>a[i].math;
cin>>a[i].english;
a[i].count=a[i].chinese+a[i].math+a[i].english;
a[i].id=i+1;
}
sort(a,a+n,cmp);
for(i=0;i<n;i++)
{
cout<<a[i].id