hdu 1009 FatMouse' Trade(DP)

来源:互联网 发布:淘宝优惠券秒杀代码 编辑:程序博客网 时间:2024/05/21 17:22

点击打开链接

类似01背包,小猫总共有价值m的食物,去和小狗换,小狗有j磅的食物,需要小猫用价值f的食物换,

则p=j/f代表每磅需要的食物,即单价

#include"stdio.h"int main(){int j[1111],f[1111],t,m,n,i;double p[1111],sum,max;//j[]代表价值,f[]代表总磅数while(scanf("%d%d",&m,&n)!=EOF&&(m!=-1||n!=-1)){for(i=0;i<n;i++){scanf("%d%d",&j[i],&f[i]);p[i]=1.0*j[i]/f[i];//p[]代表单价}sum=0;while(n&&m){max=p[0];t=0;for(i=1;i<n;i++){if(p[i]>max){max=p[i];t=i;}}if(m>f[t]){m-=f[t];sum+=j[t];p[t]=0;}else{sum+=(double)m*j[t]/f[t];m=0;}}printf("%.3f\n",sum);}return 0;}


原创粉丝点击