zoukankan      html  css  js  c++  java
  • ——————————————————————————————————1203————————————————————————————————

    #include<stdio.h>
    #include<string.h>
    double max(double x,double y);
    int main()
    {
        int d,v,n,i,c[11111];
        double w[11111],f[11111];
        while(scanf("%d%d",&v,&n)!=EOF)
        {
            for(i=0;i<=v;i++)
                f[i]=1;
            if(v==0&&n==0)//题目要求
                break;
            for(i=0;i<n;i++)
            {
                scanf("%d%lf",&c[i],&w[i]);//输入花费,和收到offer的概率。
            }
            d=v;//如果会用指针的话,应该会方便很多。
            for(i=0;i<n;i++)    //OI背包公式。
            {
                for(v=d;v>=0;v--)
                {
                    if(v-c[i]<0)
                        break;
                    f[v]=max(f[v],f[v-c[i]]*(1-w[i]));//所有的值已经初始化为零
                }
            }
            printf("%.1lf%%
    ",(1-f[d])*100);
        }
    }
    double max(double x,double y)
    {
        if(x>y)
            return y;
        else
            return x;
    }

    反映出来的问题主要有

    1:设置变量的时候没有从开始就严格按照题目设置,导致输入输出不配套出错。2:输出的时候格式出错,太蠢

  • 相关阅读:
    线程的休眠和中断
    线程的强制运行
    多线程基础
    jar文件につぃて
    Exception和RuntimeException
    异常的抛出
    java之适配器模式
    分支语句
    运算符与表达式
    练习课(一)
  • 原文地址:https://www.cnblogs.com/A-FM/p/4999454.html
Copyright © 2011-2022 走看看