zoukankan      html  css  js  c++  java
  • Bag of mice

    题目:这里有w只白鼠和b只黑鼠,龙和王妃轮流从袋子里抓鼠,每次抓一只,抓到第一只白鼠的人获胜。当龙抓一只鼠时,袋子里会跑掉一只鼠,跑掉的鼠是等概率的。问王妃获胜的概率。

     思路:设有i只白鼠j只黑鼠的状态下王妃获胜的概率是dp[i][j]。

    王妃在i,j情况下取得一只白鼠获胜,概率为i/(i+j);

    王妃没有取到白鼠,取黑鼠的概率是j/(i+j),若王妃要赢,下次龙一定取黑鼠,概率为(j-1)/(i+j-1),同时跑掉的是黑鼠,概率为(j-2)/(i+j-2),状态转移到dp[i][j-3];
    王妃没有取到白鼠,取黑鼠的概率是j/(i+j),若王妃要赢,下次龙一定取黑鼠,概率为(j-1)/(i+j-1),同时跑掉的是白鼠,概率为i/(i+j-2),状态转移到dp[i-1][j-2];

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<queue>
     6 #include<stack>
     7 #include <bitset>
     8 #include<set>
     9 #include<map>
    10 #include<vector>
    11 #include<cmath>
    12 #include<string>
    13 using namespace std;
    14 #define maxn 1e3;
    15 // i只白鼠j只黑鼠的状态下王妃获胜的概率是dp[i][j]
    16 double dp[1005][1005];
    17 int main() {
    18     int w, b;
    19     cin >> w >> b;
    20     memset(dp, 0, sizeof(dp));
    21     for (int i = 1; i <= w; i++) {
    22         dp[i][0] = 1;
    23     }
    24     for (int i = 0; i <= b; i++) {
    25         dp[0][i] = 0;
    26     }
    27     for (int i = 1; i <= w; i++) {
    28         for (int j = 1; j <= b; j++) {
    29             dp[i][j] = i * 1.0 / (i + j);
    30             if (j >= 2) { // 在王妃第一次抓黑鼠后,龙又抓黑鼠 ,跑掉了白鼠
    31                 dp[i][j] += 1.0 *j / (i + j) * (1.0 * (j - 1) / (i + j - 1)) * (1.0 * i / (i + j - 2)) * dp[i - 1][j - 2];
    32             }
    33             if (j >= 3) {//  跑掉黑鼠
    34                 dp[i][j] += 1.0 * j / (i + j) * (j - 1) * 1.0 / (i + j - 1) * (j - 2) * 1.0 / (i + j - 2) * dp[i][j - 3];
    35             }
    36         }
    37     }
    38     printf("%.9lf
    ", dp[w][b]);
    39     return 0;
    40 }

     链接:https://blog.csdn.net/u013081425/article/details/39084275

  • 相关阅读:
    复利计算单元测试-软件工程
    实验一 操作系统
    <构建之法>前三章读后感—软件工程
    复利计算总结-软件工程
    实验0-操作系统
    复利计算1.0~2.0~3.0~4.0-软件工程(网页版)
    典型用户与场景
    0608场景(用户故事) 任务
    构建之法读后感+学习和诚信
    0603团队变化+sprint第二个冲刺
  • 原文地址:https://www.cnblogs.com/0211ji/p/13336114.html
Copyright © 2011-2022 走看看