HDU 1203 ( I NEED A OFFER! )

来源:互联网 发布:delphi源码 编辑:程序博客网 时间:2024/05/16 02:12

我做的第一个背包问题

Problem : 1203 ( I NEED A OFFER! )     Judge Status : AcceptedRunId : 6357811    Language : C++    Author : ssunCode Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta#include "iostream"#include "stdio.h"using namespace std;double min(double a, double b){    return a < b ? a : b;}int main(){    double possible[11000],ans[11000];    int n,m,i,k,cost[11000];    while(cin>>m>>n,m || n){        for(i=0; i<n; i++){            cin>>cost[i]>>possible[i];        }        for(i=0; i<=m; i++) ans[i] = 1;        for(i=0; i<n; i++){            for(k=m; k>=cost[i]; k--){                ans[k] = min(ans[k], ans[k-cost[i]]*(1-possible[i]));            }        }        printf("%.1lf%%\n",(1-ans[m])*100);    }    return 0;}


原创粉丝点击