uva11021

Posted yohanlong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uva11021相关的知识,希望对你有一定的参考价值。

这题要注意到每只麻球的后代是独立存货的,所以如果某只麻球在某种情况下死亡的概率是P,那么k只麻球全部死亡的概率是Pk

设f[x]=每只麻球在x天后全部死亡的概率

f[i]=P0+P0f(i-1)+P2f(i-1)2+……+Pn-1f(i-1)n-1

最后由于有k个麻球,ans = f[m]k

#include <cstdio>
#include <cstring>
#define db double

using namespace std;

const int maxn = 1005;

int kase, n, k, m;

db p[maxn], f[maxn];

db ksm(db a, int b)
{
    db ans = 1, base = a;
    while (b)
    {
        if (b & 1) ans *= base;
        base *= base;
        b >>= 1;
    }
    return ans;
}

int main()
{
    scanf("%d", &kase);
    for (int KASE = 1; KASE <= kase; KASE++)
    {
        scanf("%d%d%d", &n, &k, &m);
        for (int i = 0; i < n; i++)
            scanf("%lf", &p[i]);
        f[0] = 0; f[1] = p[0];
        for (int i = 2; i <= m; i++)
        {
            f[i] = 0;
            for (int j = 0; j < n; j++)
                f[i] += p[j] * ksm(f[i - 1], j);
        }
        printf("Case #%d: %.7f\n", KASE, ksm(f[m], k));
    }
    return 0;
}

 

以上是关于uva11021的主要内容,如果未能解决你的问题,请参考以下文章

●UVA 11021 tunnello

uva 11021 Tribles

UVA 11021 Tribles(递推+概率)

uva-11021-全概率公式

UVA11021 Tribbles

uva11021