hdu 1203 I NEED A OFFER!

来源:互联网 发布:腾讯数据分析做什么的 编辑:程序博客网 时间:2024/05/17 23:58

http://acm.hdu.edu.cn/showproblem.php?pid=1203

01背包

代码:

#include <stdio.h>#include <stdlib.h>#include <math.h>#include <string.h>#include <iostream>#include <algorithm>#include <map>#include <set>#include <queue>using namespace std;double f[10005];struct node{    int a;    double b;}num[10005];int main(){    int n,m;    while(scanf("%d%d",&n,&m),n|m)    {        for(int i=1;i<=m;i++)        scanf("%d%lf",&num[i].a,&num[i].b);        memset(f,0,sizeof(f));        for(int i=1;i<=m;i++)        {            for(int j=n;j>=num[i].a;j--)            {                f[j]=max(f[j],(1-(1-f[j-num[i].a])*(1-num[i].b)));            }        }        printf("%.1f%%\n",f[n]*100);    }}



原创粉丝点击