HDU1203(01)

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
#define cir(a,b) memset(a,b,sizeof a)
typedef long long  LL;
const int maxn = 100000+10;
const int INF = 1e9+10;
int n,m;
double w[maxn];
int v[maxn];
double dp[maxn];
int main()
{
    while (cin >> n >> m )
    {
        if(m==0&&n==0) break;
        cir(w,0);
        cir(v,0);
        cir(dp,0);
        for(int i=0;i<=n;i++)
            dp[i] = 1;
        for(int i=0;i> v[i] >> w[i];
            w[i] = 1-w[i];
        }
        for(int i=0;i=v[i];j--)
            {
                dp[j] = min(dp[j],dp[j-v[i]]*w[i]);
            }
        }
        printf("%.1f%%\n",(1.0-dp[n])*100);
    }

    return 0;
}

你可能感兴趣的:(#,HUD,DP46题,#,基础DP)