HDU 1031 Design T-Shirt

题意:讲的是XKA要设计T-Shirt,征集大众对各元素的满意度。分别输入3个整数,分别给N、M、K,其中N代表参与打分的人数,M代表元素总数量,K代表XKA所要选用的元素数量。XKA将选用分值较高的前K个元素,若分值相同则选择索引小的的元素。
思路:记录每个M的总分数和索引,用结构体存起来,两次排序就够了

另外要注意的输出格式,不能有多余的空格。

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cmath>
 4 using namespace std;
 5 double num[1005][1005];
 6 struct point{
 7     double tot;
 8     int index;
 9 }p[1005];
10 int x[1050];
11 int cmp(point x,point y)
12 {
13     return x.tot>y.tot;
14 }
15 int cop(point a,point b)
16 {
17     return a.index>b.index;
18 }
19 int main()
20 {
21     int n,m,k;
22     while(scanf("%d %d %d",&n,&m,&k)!=EOF){
23         for(int j,i=1;i<=n;++i)
24             for(j=1;j<=m;++j)
25                 scanf("%lf",&num[i][j]);
26         int t=0;
27         for(int i,j=1;j<=m;++j){
28             double sum=0;
29             for(i=1;i<=n;++i)
30                 sum+=num[i][j];
31             p[t].tot=sum;
32             p[t].index=j;
33             ++t;
34         }
35         sort(p,p+t,cmp);
36         sort(p,p+k,cop);
37         printf("%d",p[0].index);
38         for(int i=1;i<k;++i)
39             printf(" %d",p[i].index);
40             printf("
");
41     }
42 }
原文地址:https://www.cnblogs.com/sasuke-/p/5159122.html