zoukankan      html  css  js  c++  java
  • uva 10900

    题意一直没看懂~~~~不过看懂了之后还是感觉挺好的

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define maxn 32
    using namespace std;
    int n;
    double p[maxn],t;
    
    void pre()
    {
        p[0]=1;
        for(int i=1;i<=30;i++)
            p[i]=p[i-1]*2.0;
    }
    
    double solve()
    {
        double f=p[n];
        for(int i=n-1;i>=0;i--)
        {
            double eq=p[i]/f;
            if(eq<t)
                f=(1+t)*f/2.0;
            else
                f=(eq-t)*p[i]/(1-t)+(1-eq)*(eq+1)*f/(1-t)/2.0;
        }
        return f;
    }
    
    int main()
    {
        pre();
        while(scanf("%d%lf",&n,&t)&&n)
        {
            printf("%.3lf
    ",solve());
        }
        return 0;
    }
    View Code
  • 相关阅读:
    背包问题
    阶乘尾数0的个数
    欧拉筛找素数
    威佐夫博弈
    三角形面积
    deleted
    deleted
    deleted
    deleted
    deleted
  • 原文地址:https://www.cnblogs.com/yours1103/p/3854986.html
Copyright © 2011-2022 走看看