标签:
#include<stdio.h> #include<string.h> #define MAX(x,y)(x>y?x:y) const int MAXN=10010; double bag[MAXN]; int w[MAXN]; double v[MAXN]; double fv(double a,double b){ // if(a==0)return b; double c=1-a,d=1-b; return 1-c*d; } int main(){ int n,m; while(~scanf("%d%d",&n,&m),n||m){ memset(bag,0,sizeof(bag)); for(int i=0;i<m;i++) scanf("%d%lf",&w[i],&v[i]); for(int i=0;i<m;i++) for(int j=n;j>=w[i];j--) bag[j]=MAX(bag[j],fv(bag[j-w[i]],v[i]));//少了-w【i】 bag[n]*=100; printf("%.1lf%%\n",bag[n]); } return 0; }
标签:
原文地址:http://www.cnblogs.com/handsomecui/p/4763714.html