题目意思:
01背包:
dp[j]=dp[j-v[i]]+v[i]
C++:
#include"stdio.h"#include"string.h"int dp[3000001];int v[31],cnt;int main(){ int i,j,n; double q,t; int Q,N; while(scanf("%lf%d",&q,&N),N) { cnt=0; Q=(int)(q*100.0); for(i=0;i100000||A>60000||B>60000||C>60000)f=0; } if(f)v[cnt++]=A+B+C; } memset(dp,0,sizeof(dp)); for(i=0;i =v[i];j--) { if(dp[j]