代码改变世界

1482. 奖学金

2011-04-23 11:13  Min·zc  阅读(186)  评论(0编辑  收藏  举报

水题,输出格式需要注意一下

----------------------------------------------------

 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 struct STU
 5 {
 6         int sum;
 7         int a;
 8         int id;
 9 };
10 STU stu[5000];
11 int cmp(const void* a, const void* b)
12 {
13         if(((STU*)a)->sum!=((STU*)b)->sum)
14                 return ((STU*)a)->sum<((STU*)b)->sum;
15         if(((STU*)a)->a!=((STU*)b)->a)
16                 return ((STU*)a)->a<((STU*)b)->a;
17         return ((STU*)a)->id>((STU*)b)->id;
18 }
19 int main()
20 {
21         int n;
22         int k=0;
23         while(cin>>n)
24         {
25                 for(int i=0;i<n;i++)
26                 {
27                         int a,b,c;
28                         cin>>a>>b>>c;
29                         stu[i].sum=a+b+c;
30                         stu[i].id=i+1;
31                         stu[i].a=a;
32                 }
33                 qsort(stu,n,sizeof(stu[0]),cmp);
34                 if(k!=0)
35                         cout<<endl;
36                 for(int i=0;i<5;i++)
37                         cout<<stu[i].id<<" "<<stu[i].sum<<endl;
38                 k++;
39         }
40 }