杭电 HDU 1031 Design T-Shirt
Design T-Shirt
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6527 Accepted Submission(s): 3061
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.
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.
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.
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
6 5 3 1
2 1
#include<iostream>
#include<algorithm>
#include<string.h>
const int M=100;
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
double ls[M][M];
double gq[M];
int flag[M];
int n,m,k,i,j,T;
while(scanf("%d%d%d",&n,&m,&k))
{
int x=0;
memset(gq,0,sizeof(gq));
memset(ls,0,sizeof(ls));
memset(flag,0,sizeof(flag));
for( i=0;i<n;i++)
for(j=0;j<m;j++)
{
scanf("%lf",&ls[i][j]);
gq[j]+=ls[i][j];
}
while(k--)
{
int max=-1;
for(int t=0;t<m;t++)
{
if(gq[t]>max)
{
max=gq[t];
T =t;
}
}
gq[T]=-1;
flag[x++]=T+1;
}
sort(flag,flag+x,cmp); for(int p=0;p<x-1;p++)
printf("%d ",flag[p]);
printf("%d\n",flag[x-1]);
}
return 0;
}
第二:
#include<iostream>
#include<algorithm>
#include<string.h> const int M=10000;
using namespace std; int main()
{
double ls[M][M];
double gq[M];
int flag[M];
int n,m,k,i,j,T;
while(scanf("%d%d%d",&n,&m,&k))
{
int x=0,I=k;
memset(gq,0,sizeof(gq));
memset(ls,0,sizeof(ls));
memset(flag,0,sizeof(flag));
for( i=0;i<n;i++)
for(j=0;j<m;j++)
{
scanf("%lf",&ls[i][j]);
gq[j]+=ls[i][j];
}
while(k--)
{
int max=-1;
for(int t=0;t<m;t++)
{
if(gq[t]>max)
{
max=gq[t];
T =t;
}
}
gq[T]=-1;
flag[T]=1;
} for(int p=m-1;p>=0;p--) {
if(flag[p]==1)
{
x++; if(x==I)
{
printf("%d\n",p+1); break;
} else printf("%d ",p+1);
}
}
}
return 0;
}
第三:AC代码:
#include<cmath>
#include<iostream>
using namespace std;
#include<algorithm>
#include<string.h>
const int N=10005;
struct ls
{
int k;
double sum;
}gq[N]; bool cmp1(ls a,ls b)
{ return a.sum>b.sum; }
bool cmp2(ls a,ls b)
{
return a.k>b.k;
} int main()
{
int n,m,k,i;
double re;
while(~scanf("%d%d%d",&n,&m,&k))
{
for(i=0;i<m;i++)
{
gq[i].k=i;
gq[i].sum=0.0;
}
for(int j=0;j<n;j++)
for(int t=0;t<m;t++)
{
scanf("%lf",&re);
gq[t].sum+=re; } sort(gq,gq+m,cmp1);
sort(gq,gq+k,cmp2);
for(int w=0;w<k-1;w++)
printf("%d ",gq[w].k+1);
printf("%d\n",gq[k-1].k+1);
}
return 0;
}
杭电 HDU 1031 Design T-Shirt的更多相关文章
- 杭电 HDU ACM 2795 Billboard(线段树伪装版)
Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU 1031 Design T-Shirt
http://acm.hdu.edu.cn/showproblem.php?pid=1031 题意 :n个人,每个人对m件衣服打分,每个人对第 i 件衣服的打分要加起来,选取和前 k 高的输出他们的编 ...
- 杭电 HDU 4608 I-number
http://acm.hdu.edu.cn/showproblem.php?pid=4608 听说这个题是比赛的签到题......无语..... 问题:给你一个数x,求比它大的数y. y的要求: 1. ...
- 深搜基础题目 杭电 HDU 1241
HDU 1241 是深搜算法的入门题目,递归实现. 原题目传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1241 代码仅供参考,c++实现: #incl ...
- 杭电 HDU 1242 Rescue
http://acm.hdu.edu.cn/showproblem.php?pid=1242 问题:牢房里有墙(#),警卫(x)和道路( . ),天使被关在牢房里位置为a,你的位置在r处,杀死一个警卫 ...
- HDU 1031.Design T-Shirt【结构体二次排序】【8月21】
Design T-Shirt Problem Description Soon after he decided to design a T-shirt for our Algorithm Board ...
- ACM 杭电HDU 2084 数塔 [解题报告]
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- 杭电 HDU ACM 1698 Just a Hook(线段树 区间更新 延迟标记)
欢迎"热爱编程"的高考少年--报考杭州电子科技大学计算机学院 Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memor ...
- 杭电 HDU ACM Milk
Milk Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
随机推荐
- Windows 消息循环(1) - 概览
本文从消息循环是如何驱动程序的这个角度,对 Windows 消息循环进行概览性介绍. 使用 EN5 课件获得更好的阅读体验: [希沃白板5]课件分享 : <Windows培训 - 消息循环> ...
- 利用linux判断elf文件是64位还是32位
readelf 命令,参数为-h 例如 文件名为python >>>readelf -h python 得到的是ELF Header中的项Magic 第五个数 02时为64位,01时 ...
- 【2-SAT】The Ministers’ Major Mess UVALive – 4452
题目链接:https://cn.vjudge.net/contest/209474#problem/C 题目大意: 一共有m个提案,n个政客,每个政客都会对一些提案(最多四个)提出自己的意见——通过或 ...
- Bzoj2002/洛谷P3203 [HNOI2010]弹飞绵羊(分块)
题面 Bzoj 洛谷 题解 大力分块,分块大小\(\sqrt n\),对于每一个元素记一下跳多少次能跳到下一个块,以及跳到下一个块的哪个位置,修改的时候时候只需要更新元素所在的那一块即可,然后询问也是 ...
- FastReport.Net使用:[13]如何使用表达式
在FastReport报表中,表达式(Expressions)用在很多地方,譬如文本框,排序过滤器等. 表达式基于报表选择的脚本语言,从菜单[报表]->[选项]打开“报表选项对话框”,切换到“脚 ...
- Hibernate 单项多对一的关联映射
在日常开发中会出现很对多对一的情况,本文介绍hibernate中多对一的关联映射. 1.设计表结构 2.创建student对象 3.创建Grade对象 4.写hbm.xml文件 5.生成数据库表 生成 ...
- 山东省第四届省赛 E-Mountain Subsequences
Description Coco is a beautiful ACMer girl living in a very beautiful mountain. There are many trees ...
- Understanding Cache Access
URL Loading System提供了综合的disk 和 in-memory 策略的请求缓存.使用缓存有利于减少程序对网络的依赖,并且能提高程序的体验. Using the Cache for a ...
- 【转】代码混淆和apk反编译
代码混淆 http://blog.csdn.net/vipzjyno1/article/details/21042823 apk反编译 http://blog.csdn.net/vipzjyno1/a ...
- BZOJ 2818: Gcd 筛法
2818: Gcd 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=2818 Description 给定整数N,求1<=x,y< ...