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. RESTful API -备

    网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致AP ...

  2. JS学习之页面加载

    1.window.opener.location.reload();     意思是让打开的父窗口刷新.window.opener指的是本窗口的父窗口,window.opener.location.h ...

  3. .NET调用osql.exe执行sql脚本创建表和存储过程

    using System;using System.Diagnostics;using System.Windows.Forms; namespace WindowsFormsApplication1 ...

  4. C语言学习笔记--结构体

    结构体定义三种方式: #include<stdio.h> //第一种定义方法 struct point { int x; int y; }; struct point p1,p2; //第 ...

  5. WINDOWS自启动程序的10大隐身之所

    Windows启动时通常会有一大堆程序自动启动.不要以为管好了“开始→程序→启动”菜单就万事大吉,实际上,在Windows XP/2K中,让Windows自动启动程序的办法很多,下文告诉你最重要的两个 ...

  6. (2015年郑州轻工业学院ACM校赛题) A 彩票

    这是个简单的题目,其实就是判断是否是偶数, 对二进行特判一下就行了! 比赛时候我们还错两次................ 一看简单题就想抢一血,谁知到第一次提交CE, 再提交WA 汗........ ...

  7. yui datatable动态修改行号

    相关函数 getRecord  :YAHOO.widget.Record getRecord ( row ) For the given identifier, returns the associa ...

  8. web references是在.NET下的一个东东?它有什么用呢?和“引用”有什么区别!

    WEB引用的意思啊 在.net中有类库和WEB SERVICE这两种类型的项目, 前者编译出来的DLL就是我们普通使用的引用中的类库, 后都编译出来的,在服务器IIS上为其提供服务,我们调用时就要用到 ...

  9. Unity3D NGUI制作的Button放到场景中,按钮从2D变到3D

    通常我们使用Button都是在UI界面,即NGUI的摄像机下,如果想换到场景中,即不让按钮以UI形式显现,而是和场景中的物体一起随着摄像机移动而缩小,放大. 很简单,把Button从NGUi的摄像机中 ...

  10. 实战:mysql版本号升级

    /***************************************************** mysql 5.6.19 升级到5.6.21 ********************** ...