您的位置:首页 > 其它

贪心 HDU 2570 迷瘴

2016-02-14 10:10 393 查看
喏,看原题的戳这儿:迷瘴

思路:贪心,为了配置低浓度最大剂量的药水,依次加入浓度从低到高的药水。

代码

#include<stdio.h>
int main()
{
int i,j,k,t;
int n,v,w,p[100];
double m,vc;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d",&n,&v,&w);
for(i=0;i<n;i++)
scanf("%d",&p[i]);
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
if(p[j]>p[j+1])
{
k=p[j];
p[j]=p[j+1];
p[j+1]=k;
}
for(i=vc=m=0;i<n;i++)//C=m/v,混合后C = (p[0]*v+p[1]*v+...) / (i+1)*v    =   (p[0]+p[1]+...) / (i+1)
{
m+=p[i];
if(m/(i+1) <=w)
vc = m/(i+1);
else
break;
}
printf("%d %.2lf\n",v*i,vc/100);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: