Description

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

3 6 4 2 2.5 5 1 3 4 5 1 3.5 2 2 2 1 1 1 1 1 10 3 3 2 1 2 3 2 3 1 3 1 2
                

Sample Output

6 5 3 1 2 1
 
 
超时  然后将代码不断修改  C++输入改为使用C输入
对scanf函数不熟悉!!! 输入双精度浮点数使用“%lf”   使用“%f“和”%e"都无法读取到正确的数字,因为这两者为浮点数!!
#include<iostream>
#include<string.h>
#include<stdlib.h>
using namespace std;
int N,M,K;
double s[][];
int cmp(const void *a,const void *b)
{
return *(int*)a<*(int*)b?:-;
}
void f(double sum[],int p[])
{
int k=,j,i;
while(k<K){
for(j=;j<M;j++){
bool flag=true;
for(i=;i<M;i++){
if(sum[j]<sum[i]){
flag=false;
break;
}
}
if(flag==true){
sum[j]=-;
p[k++]=j+;
break;
}
else continue;
}
}
}
int main()
{
while(scanf("%d %d %d",&N,&M,&K)!=EOF){
double sum[];
int p[];
int i=,j;
memset(sum,,sizeof(sum));
while(i<N){
for(j=;j<M;j++){
scanf("%lf",&s[i][j]);
sum[j]+=s[i][j];
}
i++;
}
f(sum,p);
qsort(p,K,sizeof(p[]),cmp);
for(i=;i<K;i++){
if(i==K-)printf("%d\n",p[i]);
else printf("%d ", p[i]);
}
}
//system("pause");
return ;
}

Y - Design T-Shirt(第二季水)的更多相关文章

  1. F - The Fun Number System(第二季水)

    Description In a k bit 2's complement number, where the bits are indexed from 0 to k-1, the weight o ...

  2. D - Counterfeit Dollar(第二季水)

    Description Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are t ...

  3. N - Robot Motion(第二季水)

    Description A robot has been programmed to follow the instructions in its path. Instructions for the ...

  4. B - Maya Calendar(第二季水)

    Description During his last sabbatical, professor M. A. Ya made a surprising discovery about the old ...

  5. S - 骨牌铺方格(第二季水)

    Description          在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.         例如n=3时,为2× 3方格,骨牌的铺放方案有三种, ...

  6. R - 一只小蜜蜂...(第二季水)

    Description          有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数.         其中,蜂房的结构如下所示.     ...

  7. I - Long Distance Racing(第二季水)

    Description Bessie is training for her next race by running on a path that includes hills so that sh ...

  8. L - 辗转相除法(第二季水)

    Description The least common multiple (LCM) of a set of positive integers is the smallest positive i ...

  9. U - 神、上帝以及老天爷(第二季水)

    Description HDU 2006'10 ACM contest的颁奖晚会隆重开始了!         为了活跃气氛,组织者举行了一个别开生面.奖品丰厚的抽奖活动,这个活动的具体要求是这样的:  ...

随机推荐

  1. HTTP分块传输

    HTTP分块传输 用途 对于在发送HTTP头部前,无法计算出Content-Length的HTTP请求及回复(例如WEB服务端产生的动态内容),可以使用分块传输,使得不至于等待所有数据产生后,再发送带 ...

  2. 转:使用Android API最佳实践

    原文来自于:http://blog.jobbole.com/65170/ 写在前面 现在,Android应用程序中集成第三方API已十分流行.应用程序都有自己的网络操作和缓存处理机制,但是大部分比较脆 ...

  3. Qt:截图工具,任意大小矩形截图、全屏截图

    http://blog.csdn.net/rl529014/article/details/53146440

  4. perl /m

    <pre name="code" class="html">[root@backoffice01 ~]# cat a1.pl my $_=" ...

  5. 【HDOJ】1561 The more, The Better

    树状DP. /* 1561 */ #include <iostream> #include <cstdio> #include <cstring> #include ...

  6. HDOJ 1163 Eddy's digital Roots 九余数定理+简单数论

    我在网上看了一些大牛的题解,有些知识点不是太清楚, 因此再次整理了一下. 转载链接: http://blog.csdn.net/iamskying/article/details/4738838 ht ...

  7. HBase HFile

    HFile index HFile index, which is proportional to the total number of Data Blocks. The total amount ...

  8. 【2013长沙区域赛】部分题解 hdu4791—4801

    1001: 签到题,二分一下即可 代码: #include <set> #include <map> #include <cmath> #include <c ...

  9. Configuring the JA-SIG CAS Client --官方

    1. for Java using Spring Configuration of the CAS Client for Java via Spring IoC will depend heavily ...

  10. 使用MySQL的LAST_INSERT_ID--转

    LAST_INSERT_ID 自动返回最后一个 INSERT 或 UPDATE 操作为 AUTO_INCREMENT 列设置的第一个发生的值. 参考这里 The ID that was generat ...