Codeforcesラウンド#105(DIV。2)D题

確率DP、DP [i]は[J ] 勝利の王女の確率は、王女は最初の白ウサギを取得する確率を得たときにjはi番目のウサギと黒いウサギであるI /(I + J)として
のプリンセス得た黒ウサギ、竜黒ウサギを取得し、黒ウサギのうち、DPへの[I] [J-3一度 ]、 確率は次のとおりです。1.0 * J /(J + I)(J-1)/( 。1 + J-I)、(J-2)/(I + J-2)。
プリンセス第得ウサギブラック、ウサギ長い取得は、白ウサギのうち、DPへの[I-1] [jが -2]、 確率は1.0 * J /(I + J)(J- 1)/(I-J + 1) I /(I + J-2)。

double dp[2000][2000];

int main() {
    int a,b;
    scanf("%d%d",&a,&b);
    for(int i = 1; i <= a; i++) dp[i][0] = 1;
    for(int i = 1; i <= a; i++) {
        for(int j = 1; j <= b; j++) {
            dp[i][j] = 1.0 * i/(i+j);
            if(j >= 2) dp[i][j] += 1.0 * j / (i+j) *(j-1)/(i+j-1)*i/(i+j-2)*dp[i-1][j-2];
            if(j >= 3) dp[i][j] += 1.0 * j / (j+i) *(j-1)/(i+j-1)*(j-2)/(i+j-2)*dp[i][j-3];
        }
    }
    printf("%.9lf",dp[a][b]);
    return 0;
}

おすすめ

転載: www.cnblogs.com/ASLHZXY/p/12117259.html