杭电 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 ...
随机推荐
- BZOJ4653 [NOI2016]区间 [线段树,离散化]
题目传送门 区间 Description 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置.换句话说,就 ...
- 首次使用ideal构建maven项目web
如附件 链接:https://pan.baidu.com/s/1oH-9VfIKnLPjVt-tOH7fZw 提取码:7s5t
- luogu P2107 小Z的AK计划
最近复习了一下堆,于是去luogu上找一些简单题写一写 贪心的想,小z不会到一半以后回头去Ak,因为这样从时间上想肯定是不优的,他可以早在之间经过时就AK所以我们可以将所有机房按照横坐标排序可以想到的 ...
- here with you
Here With You - Asher Book To all my friends对我所有好友来讲The night is young夜未央The music's loud乐未殇They pla ...
- FastReport.Net使用:[6]HTML标签使用
使用HTML标签的基础知识 1.FastReport所支持的HTML标签包括: ●粗体:<b>...</b> ●斜体:<i>...</i> ●下划线:& ...
- [CodeForces-375E]Red and Black Tree
题目大意: 给你一棵带边权的树,每个结点可能是红色或者黑色,你可以交换若干个点对使得任意一个红点到达与其最近的黑点的距离小于等于m. 思路: 动态规划. f[i][j][k]表示以i为根的子树中,连向 ...
- [JOBDU1172]哈夫曼树
题目大意: 给你一堆权值,求这些权值建成哈夫曼树后的WPL. 思路: 哈夫曼树的WPL等于各非叶子结点权值之和. 所以直接贪心模拟构建哈夫曼树的过程. 先把所有的权值放在一个堆中,然后每次取里面最小的 ...
- Java后台直接生成二维码介绍
Java后台直接生成二维码 1.其实jquery也可以直接生成二维码的,但我测试的时候,二维码生成后太模糊,难以识别.所以在这里介绍在后来生成二维码的方式. 2.不善于文字描述,直接上代码了. imp ...
- 洛谷P1341 最受欢迎的奶牛
题目描述 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之间的“喜欢”是可以传递的——如果A喜 欢B,B喜欢C,那么A也喜欢C ...
- Oracle简单脚本演示样例
Oracle简单脚本演示样例 1.添加表 --改动日期:2014.09.21 --改动人:易小群 --改动内容:新增採购支付情况表 DECLARE VC_STR VARCHAR2( ...