CF 540D Bad Luck Island

一看就是DP题(很水的一道紫题)

(dp[i][j][k])为留下(i)(r)族的人,死去(j)(s)族的人,死去(k)(p)族的人的概率(跟其他的题解有点差别,但本质相同)。

#include <bits/stdc++.h>
using namespace std;
double dp[101][101][101];
int a, b, c;
int main() {
    scanf("%d%d%d", &a, &b, &c);
    for (int i = 1; i <= 100; i++)
        for (int j = 1; j <= 100; j++) {
            dp[i][j][0] = 1;
            for (int k = 1; k <= 100; k++)
                dp[i][j][k] += (i * j * dp[i][j - 1][k] + j * k * dp[i][j][k - 1] + k * i * dp[i - 1][j][k]) / (i * j + j * k + k * i);
        }
    printf("%.12lf %.12lf %.12lf
", dp[a][b][c], dp[b][c][a], dp[c][a][b]);
    return 0;
}
原文地址:https://www.cnblogs.com/wjnclln/p/10807598.html