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;
    }
    
  • 相关阅读:
    数据的安装及常识
    数据库基础
    zabbix入门
    zabbix安装报错
    https
    rewrite
    keepalived
    计算机键盘在编辑情况下键盘不见,仅能输入字母
    集成学习
    js
  • 原文地址:https://www.cnblogs.com/ASLHZXY/p/12118291.html
Copyright © 2011-2022 走看看