【题解】 HDU 2570 迷瘴
通过悬崖的yifenfei,又面临着幽谷的考验——
幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅。由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死。
幸好yifenfei早有防备,提前备好了解药材料(各种浓度的万能药水)。现在只需按照配置成不同比例的浓度。
现已知yifenfei随身携带有n种浓度的万能药水,体积V都相同,浓度则分别为Pi%。并且知道,针对当时幽谷的瘴气情况,只需选择部分或者全部的万能药水,然后配置出浓度不大于 W%的药水即可解毒。
现在的问题是:如何配置此药,能得到最大体积的当前可用的解药呢?
特别说明:由于幽谷内设备的限制,只允许把一种已有的药全部混入另一种之中(即:不能出现对一种药只取它的一部分这样的操作)。
Input
输入数据的第一行是一个整数C,表示测试数据的组数;
每组测试数据包含2行,首先一行给出三个正整数n,V,W(1<=n,V,W<=100);
接着一行是n个整数,表示n种药水的浓度Pi%(1<=Pi<=100)。
Output
对于每组测试数据,请输出一个整数和一个浮点数;
其中整数表示解药的最大体积,浮点数表示解药的浓度(四舍五入保留2位小数);
如果不能配出满足要求的的解药,则请输出0 0.00。
Sample Input
3
1 100 10
100
2 100 24
20 30
3 100 24
20 20 30
Sample Output
0 0.00
100 0.20
300 0.23通过悬崖的yifenfei,又面临着幽谷的考验——
幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅。由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死。
幸好yifenfei早有防备,提前备好了解药材料(各种浓度的万能药水)。现在只需按照配置成不同比例的浓度。
现已知yifenfei随身携带有n种浓度的万能药水,体积V都相同,浓度则分别为Pi%。并且知道,针对当时幽谷的瘴气情况,只需选择部分或者全部的万能药水,然后配置出浓度不大于 W%的药水即可解毒。
现在的问题是:如何配置此药,能得到最大体积的当前可用的解药呢?
特别说明:由于幽谷内设备的限制,只允许把一种已有的药全部混入另一种之中(即:不能出现对一种药只取它的一部分这样的操作)。
Input
输入数据的第一行是一个整数C,表示测试数据的组数;
每组测试数据包含2行,首先一行给出三个正整数n,V,W(1<=n,V,W<=100);
接着一行是n个整数,表示n种药水的浓度Pi%(1<=Pi<=100)。
Output
对于每组测试数据,请输出一个整数和一个浮点数;
其中整数表示解药的最大体积,浮点数表示解药的浓度(四舍五入保留2位小数);
如果不能配出满足要求的的解药,则请输出0 0.00。
Sample Input
3
1 100 10
100
2 100 24
20 30
3 100 24
20 20 30
Sample Output
0 0.00
100 0.20
300 0.23
题意:简单贪心,有N种浓度的药,叫你求 浓度不超过W的药水 的最大体积,并输出浓度。
因为每瓶药的体积是一样的,那么排序一下,先将浓度最少的先配置,这样便能够达到最优。
解药要求最大体积
注意数学问题求浓度公式hhhh 好讨厌
#include <cstdio>
#include <iostream>
#include <algorithm>
#define MAX 10005
using namespace std;
int x[MAX];
int main()
{int t,i;int n,v,w;double tiji,nongdu,p;cin>>t;while(t--){scanf("%d%d%d",&n,&v,&w);for(i=0;i<n;i++){cin>>x[i];}sort(x,x+n);tiji=v;nongdu=x[0];if(nongdu>w){printf("0 0.00\n");continue;//跳while }for(i=1;i<n;i++){p = ((nongdu*tiji)+(x[i]*v))/(tiji+v);if(p<=w){nongdu = p;tiji += v;}else break;}printf("%.0lf %.2lf\n",tiji,nongdu/100);}return 0;
}
【题解】 HDU 2570 迷瘴相关推荐
- HDU 2570 迷瘴(贪心)
迷瘴 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- HDU 2570 迷瘴
题目链接 题意 给你N瓶药水,每个药水的体积为V,要求配的浓度为W,问最多能配多少体积的药水满足浓度不超过W,输出最大体积,和药水的浓度. AC 题解 因为药水的体积相同,这个题可以转化成在平均数不超 ...
- hdu 2570 迷瘴
Description 通过悬崖的yifenfei,又面临着幽谷的考验-- 幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅.由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而 ...
- HDU - 2570 迷瘴 (贪心水题)
通过悬崖的yifenfei,又面临着幽谷的考验-- 幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅.由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死. 幸好yifenfe ...
- hdu 2570 迷障(贪心)
迷瘴 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other Font: Times New R ...
- hdoj 2570 迷瘴
题目链接:迷瘴 题目大意:给你一个n,v,w,然后给你n个数p[i],代表有n种药,每种药的体积都是v,现在每种药的浓度为p[i]%,然后问你最多可以兑多少种药使得混合后药品的浓度不超过w%(药瓶不能 ...
- codeUp 2143: 迷瘴 浮点计算|贪心
2143: 迷瘴 时间限制: 1 Sec 内存限制: 32 MB 提交: 666 解决: 201 [提交][状态][讨论版][命题人:外部导入] 题目描述 小明正在玩游戏,他控制的角色正面临着幽谷 ...
- HDU2570 迷瘴【贪心】
迷瘴 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...
- hdu-2570 迷瘴(贪心水题)
迷瘴 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...
最新文章
- NanoPi NEO Air使用十六:使用python做开发
- rabbitmq延迟队列实现
- GetCurrentProcessID、OpenProcessToken、LookupPrivilegeValue、AdjustTokenPrivileges
- vue 动态绑定 video src,不能正常播放问题
- 原生js获取宽高与jquery获取宽高的方法的关系
- 对于集成SP3后后不能激活的解释
- HDOJ2027统计元音
- mysql中update语句怎么设置变量_MySQL数据库update语句使用详解
- Kali 利用setoolkit制作钓鱼网站
- 计算机外文文献ssh,计算机外文文献及翻译(SSH).doc
- 微信提示在客户端提交验证_微信提示非常用设备要求输入短信验证码解决方法...
- [BZOJ1208]宠物收养所
- 日本风俗业数据_神奇宝贝如何融入日本民俗
- android二维码制作
- SecondaryNameNode工作原理
- 随机过程中的独立与不相关
- BTF社区不忘初心共筑未来通证新经济
- 播客接棒在线音频的盈利梦
- error: expected declaration or statement at end of input
- Proverif分析handshake协议
热门文章
- cannot import name 'imresize'. The package prm under namespace prm could not be imported
- Flask and Ajax Post HTTP/1.1 400
- Ubuntu 16.04 安装 miniconda
- 位图 查找重复 排序 存数据
- swing GeneralPath::cubicTo绘制平滑曲线
- 基于Java Swing的仪表盘实现
- java通过ip获取网卡MAC地址
- Day 09 学校应该鼓励学生做社区服务吗
- Cissp-【第1章 安全和风险管理】-2020-12-31(58页-85页)
- centos普通用户SSH免密登录