HDU1031 Design T-Shirt
来源:互联网 发布:西北大学现代学院网络 编辑:程序博客网 时间:2024/05/29 02:55
Soon after he decided to design a T-shirt for our Algorithm Board on Free-City BBS, XKA found that he was trapped by all kinds of suggestions from everyone on the board. It is indeed a mission-impossible to have everybody perfectly satisfied. So he took a poll to collect people's opinions. Here are what he obtained: N people voted for M design elements (such as the ACM-ICPC logo, big names in computer science, well-known graphs, etc.). Everyone assigned each element a number of satisfaction. However, XKA can only put K (<=M) elements into his design. He needs you to pick for him the K elements such that the total number of satisfaction is maximized.
Input
The input consists of multiple test cases. For each case, the first line contains three positive integers N, M and K where N is the number of people, M is the number of design elements, and K is the number of elements XKA will put into his design. Then N lines follow, each contains M numbers. The j-th number in the i-th line represents the i-th person's satisfaction on the j-th element.
Output
For each test case, print in one line the indices of the K elements you would suggest XKA to take into consideration so that the total number of satisfaction is maximized. If there are more than one solutions, you must output the one with minimal indices. The indices start from 1 and must be printed in non-increasing order. There must be exactly one space between two adjacent indices, and no extra space at the end of the line.
Sample Input
Sample Output
#include <iostream>#include <algorithm>#include <stdio.h>using namespace std;struct sco{ int num; float sum;};bool cmp1(struct sco a,struct sco b){ return a.sum>b.sum;}bool cmp2(int a,int b){ return a>b;}float a[1000][1000];int main(){ int n,m,k,i,j; while(scanf("%d%d%d",&n,&m,&k)!=EOF) { for(i=0;i<n;i++) for(j=0;j<m;j++) scanf("%f",&a[i][j]); struct sco b[m]; for(j=0;j<m;j++) { b[j].sum=0; b[j].num=j+1; for(i=0;i<n;i++) b[j].sum+=a[i][j]; } sort(b,b+m,cmp1); int c[m]; for(i=0;i<k;i++) c[i]=b[i].num; sort(c,c+k,cmp2); for(i=0;i<k;i++) { printf("%d",c[i]); if(i!=k-1) printf(" "); } printf("\n"); } return 0;}
- hdu1031 Design T-Shirt
- HDU1031 Design T-Shirt
- hdu1031 Design T-Shirt
- HDU1031 Design T-Shirt 【stable_sort】
- ZOJ2511 HDU1031 Design T-Shirt, 贪心
- Design T-Shirt(hdu1031,简单排序)
- HDU1031--Design T-Shirt HDU(154)
- HDU1031 - Design T-Shirt (水题 模拟)
- HDU1031 Design T-Shirt(java)
- HDU1031——Design T-Shirt(结构体排序)
- Design T-Shirt
- Design T-Shirt
- Design T-Shirt
- Design T-Shirt
- Design T-Shirt 排序
- Design T-Shirt
- Design T-Shirt
- hdu 1031 Design T-Shirt
- Effective 34 Note which algorithms expect sorted ranges
- HDU1027 Ignatius and the Princess II
- 欢迎来辩到底要不要用黄金分割?
- Java中ArrayList和LinkedList区别
- Oracle 常用函数
- HDU1031 Design T-Shirt
- Python 优雅的操作字典
- HDU1034 Candy Sharing Game
- 关于el表达式的整理
- 连接查询
- HDU1035 Robot Motion
- UVA10003[Cutting Sticks] 区间动态规划模型
- 《ImageNet Classification with Deep Convolutional Neural Networks》
- http 错误码 401 405 400 500