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 }
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 }