题意
输入nmk,n个人分别对m样东西进行打分,从中选出k样得分最高的,再对这k样东西的序号从大到小输出
思路
代码
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
struct n{
int id;float score=0;
}num[300];
bool cmp(struct n a, struct n b){
return a.score>b.score;
}
bool cmpid(struct n a, struct n b){
return a.id>b.id;
}
int main(int argc, char *argv[])
{
int n,m,k;
while(cin>>n>>m>>k){
memset(num,0, sizeof(num));
float temp;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>temp;
num[j].score+=temp;
num[j].id=j;
}
}
sort(num+1,num+m+1,cmp);
sort(num+1,num+k+1,cmpid);
for(int i=1;i<k;i++){
cout<<num[i].id<<" ";
}
cout<<num[k].id<<endl;
}
return 0;
}