杭电 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 ...
随机推荐
- BNUOJ 52517 Another Server
网络流. 似乎有别的做法,没想. #include<bits/stdc++.h> using namespace std; + ; const int INF = 0x7FFFFFFF; ...
- Docker入门到实战
1.系统要求 Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10. CentOS 7满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存 ...
- ARP监测工具Arpwatch
ARP监测工具Arpwatch ARP协议是网络的基础协议.基于ARP协议的ARP攻击是局域网最为常见和有效的攻击方式.ARP攻击可以通过发送伪造的ARP包实施欺骗,实现各种中间人攻击.Arpwa ...
- HDU 1880 简单Hash
题目链接:[http://acm.hdu.edu.cn/showproblem.php?pid=1880] 中文题面,题意很简单: 题解: 把每个 魔咒 和 对应的功能分别Hash,然后分别映射到ma ...
- 【20181027T2】易水决【贪心+堆】
原题:loj6035 [错解] 全肝T1了没怎么想 [正解] 一眼贪心 先考虑\(b_i=0\)怎么做 可以模拟一个正常人的思维 开一个堆,记录每个任务需要的时间(包括等待),每次从中取出一个任务,表 ...
- 【递推】hdu5927 Auxiliary Set
题意:给你一棵树.q次询问,每次给你一些非关键点,其他的点都是关键点,让你输出树中既不是关键点,也不是关键点的lca的点的数量. 对每次询问的非关键点按照深度从深到浅排序,依次处理,最开始每个点受到的 ...
- 树形DP+(分组背包||二叉树,一般树,森林之间的转换)codevs 1378 选课
codevs 1378 选课 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 学校实行学分制.每门的必修课都有固定的学分 ...
- Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) C. Little Artem and Matrix 模拟
C. Little Artem and Matrix 题目连接: http://www.codeforces.com/contest/669/problem/C Description Little ...
- Codeforces Round #299 (Div. 1) A. Tavas and Karafs 水题
Tavas and Karafs Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/536/prob ...
- MongoDB基础学习(一) MongoDB概念解析
.基础概念 SQL术语/概念 MongoDB术语/概念 说明 database database 数据库 table collection 数据表/集合 row document 数据记录行/文档 c ...