zoukankan      html  css  js  c++  java
  • Codeforces Round #301 (Div. 2) D

    概率dp,dp[i][j][k]的状态可以从dp[i+1][j][k],dp[i][j+1][k],dp[i][j][k+1]得到

    double dp[110][110][110];
    
    int main() {
        int r,s,p;
        scanf("%d%d%d",&r,&s,&p);
        dp[r][s][p] = 1;
        for(int i = r; i >= 0; i--) {
            for(int j = s; j >= 0; j--) {
                for(int k = p; k >= 0; k--) {
                    if(i == r && j == s && k == p);
                    else {
                        if((i+1)*k+(i+1)*j+j*k != 0) dp[i][j][k] += dp[i+1][j][k] *(i+1)*1.0*k/((i+1)*k+(i+1)*j+j*k);
                        if((j+1)*i+(j+1)*k+i*k != 0) dp[i][j][k] += dp[i][j+1][k] *(j+1)*1.0*i/((j+1)*i+(j+1)*k+i*k);
    					if((k+1)*i+(k+1)*j+i*j != 0) dp[i][j][k] += dp[i][j][k+1] *(k+1)*1.0*j/((k+1)*i+(k+1)*j+i*j);
                    }
                    
                }
            }
        }
        double a = 0,b = 0,c = 0;
        for(int i = 1; i <= r; i++)a+=dp[i][0][0];
        for(int i = 1; i <= s; i++)b+=dp[0][i][0];
        for(int i = 1; i <= p; i++)c+=dp[0][0][i];
        printf("%.10lf %.10lf %.10lf
    ",a,b,c);
        return 0;
    }
    
  • 相关阅读:
    第06组Alpha冲刺(4/6)
    第06组Alpha冲刺(3/6)
    第06组Alpha冲刺(2/6)
    第06组 Alpha冲刺 (1/6)
    08-js函数
    07-数组
    06-js分支
    05-js运算符
    04-js变量
    03-css3D转换
  • 原文地址:https://www.cnblogs.com/ASLHZXY/p/12118291.html
Copyright © 2011-2022 走看看