选择人们最满意的几个设计元素
输出要从大到小输出
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 using namespace std; 6 7 typedef struct Point{ 8 double score; 9 int index; 10 }Point; 11 int cmp1(const Point a,const Point b){ 12 return a.score>b.score; 13 } 14 int cmp2(const Point a,const Point b){ 15 return a.index>b.index; 16 } 17 int main() 18 { 19 int m,n,k; 20 double tmp; 21 Point p[10000]; 22 while(~scanf("%d%d%d",&n,&m,&k)){ 23 for(int i=1;i<=m;i++){ 24 p[i].score=0; 25 p[i].index=i; 26 } 27 for(int i=1;i<=n;i++){ 28 for(int j=1;j<=m;j++){ 29 scanf("%lf",&tmp); 30 p[j].score += tmp; 31 } 32 } 33 // for(int i=m;i>0;i--){ 34 // printf(" %lf",p[i].score); 35 // 36 // }printf(" "); 37 sort(p+1,p+m+1,cmp1); 38 sort(p+1,p+k+1,cmp2); 39 // for(int i=m;i>0;i--){ 40 // printf(" %lf",p[i].score); 41 // 42 // }printf(" "); 43 int l=0; 44 for(int i=1;i<=m;i++){ 45 if(i==1) 46 printf("%d",p[i].index); 47 else 48 printf(" %d",p[i].index); 49 50 51 if(i==k) 52 break; 53 } 54 printf(" "); 55 } 56 return 0; 57 }