HDU 1031

两遍排序

叫我水题小王子

 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 int n,m,k;
 5 int ans[10000];
 6 struct P{
 7     double v;
 8     int pos;
 9 }s[10000];
10 double tmp;
11 bool cmp1(P a,P b){
12     return a.v>b.v;
13 }
14 bool cmp2(P a,P b){
15     return a.pos>b.pos;
16 }
17 int main()
18 {
19     while(~scanf("%d%d%d",&n,&m,&k))
20     {
21         for(int i=1;i<=m;i++) s[i].pos=i,s[i].v=0;
22         for(int i=1;i<=n;i++)
23         {
24             for(int j=1;j<=m;j++)
25             {
26                 scanf("%lf",&tmp);
27                 s[j].v+=tmp;
28             }
29         }
30         sort(s+1,s+m+1,cmp1);
31         sort(s+1,s+k+1,cmp2);
32         for(int i=1;i<k;i++) printf("%d ",s[i].pos);
33         printf("%d
",s[k].pos);
34     }
35 }
我自倾杯,君且随意
原文地址:https://www.cnblogs.com/nicetomeetu/p/5446408.html