P1093 [NOIP2007 普及组] 奖学金
#include<bits/stdc++.h>
using namespace std;
struct node{
int number;
int a , b , c;
int sum;
};
int n;
int main()
{
cin >> n;
node stu[n+1];
for(int i = 1 ; i <= n ; i++)
{
stu[i].number = i;
cin >> stu[i].a >> stu[i].b >> stu[i].c;
stu[i].sum = stu[i].a + stu[i].b + stu[i].c;
}
for(int i = 1 ; i <= n ; i++)
for(int j = 1 ; j <= n-1-i ; j++)
{
if(stu[j].sum > stu[j+1].sum) swap(stu[j],stu[j+1]);
else if((stu[j].sum == stu[j+1].sum)&&(stu[j].a > stu[j+1].a)) swap(stu[j] , stu[j+1]);
else if((stu[j].sum == stu[j+1].sum)&&(stu[j].a = stu[j+1].a)&&(stu[j].number < stu[j+1].number)) swap(stu[j] , stu[j+1]);
}
for(int i = n ; i > n-5 ; i--)
cout << stu[i].number << " " << stu[i].sum << '\n';
return 0;
}