概率與數學期望簡單題



UVA - 11021 - Tribles

題目傳送:Tribles

AC代碼:

#include <map>
#include <set>
#include <list>
#include <cmath>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <cctype>
#include <cstdio>
#include <string>
#include <vector>
#include <complex>
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <sstream>
#include <utility>
#include <iostream>
#include <algorithm>
#include <functional>
#define LL long long
#define INF 0x7fffffff
using namespace std;

int N;
int n, k, m;

//因爲每隻麻球都相互獨立,所以只要先求一隻麻球的即可

double P[1005];//P[i]代表一隻麻球生出i只麻球的概率
double f[1005];//f[i]代表每一隻麻球以及他的後代i天后全部死亡的概率,則答案爲f[m]^k

int main() {
    scanf("%d", &N);
    for(int cas = 1; cas <= N; cas ++) {
        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] * pow(f[i-1], j);
        }

        printf("Case #%d: %.7lf\n", cas, pow(f[m], k));
    }
    return 0;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章