代码改变世界

1738. Get Ready?

2011-05-18 20:52  Min·zc  阅读(183)  评论(0编辑  收藏  举报
 1 /*
 2  *按分数,罚时和ID的顺序比较输出
 3  *
 4  *
 5  *
 6  *
 7  */
 8 
 9 #include <iostream>
10 #include <algorithm>
11 using namespace std;
12 struct team
13 {
14         int id;
15         int sc;
16         int pn;
17 };
18 int cmp(const void* a, const void* b)
19 {
20         if(((team*)a)->sc!=((team*)b)->sc)
21                 return ((team*)a)->sc<((team*)b)->sc;
22         else if(((team*)a)->pn!=((team*)b)->pn)
23                 return ((team*)a)->pn>((team*)b)->pn;
24         else
25                 return ((team*)a)->id<((team*)b)->id;
26 }
27 team tm[110];
28 int main()
29 {
30         int t;
31         cin>>t;
32         int m=0;
33         while(t--)
34         {
35                 m++;
36                 int n;
37                 cin>>n;
38                 for(int i=0;i<n;i++)
39                         cin>>tm[i].id>>tm[i].sc>>tm[i].pn;
40                 qsort(tm,n,sizeof(tm[0]),cmp);
41                 for(int i=0;i<n;i++)
42                 {
43                         if(i!=0)
44                                 cout<<" ";
45                         cout<<tm[i].id;
46                 }
47                 cout<<endl;
48         }
49 }