洛谷水题 记录

P1093 [NOIP2007 普及组] 奖学金
sort排序即可
注意cmp的写法

#include
#include
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

你可能感兴趣的:(算法,c++,数据结构)