zoukankan      html  css  js  c++  java
  • [CF540D] Bad Luck Island

    [CF540D] Bad Luck Island - 概率

    Description

    给三种人,分别是r,s,p个,在孤岛上,每两个不同种人相遇则互吃,r吃s,s吃p,p吃r。求最后留下单一种族的概率。

    Solution

    考虑 (f[i][j][k]) 表示剩下 i 个 r,j 个 s,k 个 p 的概率(注意这里对概率的理解,此时样本空间为 i+j+k=C 的所有事件)

    转移就是随机抽两个不同人种出来打一架

    #include <bits/stdc++.h>
    using namespace std;
    
    #define int long long
    
    int r, s, p;
    
    double f[105][105][105];
    
    signed main()
    {
        ios::sync_with_stdio(false);
    
        cin >> r >> s >> p;
    
        f[r][s][p] = 1;
    
        double ar = 0, as = 0, ap = 0;
    
        for (int i = r; i >= 0; i--)
        {
            for (int j = s; j >= 0; j--)
            {
                for (int k = p; k >= 0; k--)
                {
                    if (i && j)
                        f[i][j - 1][k] += f[i][j][k] * i * j / (i * j + j * k + k * i);
                    if (j && k)
                        f[i][j][k - 1] += f[i][j][k] * j * k / (i * j + j * k + k * i);
                    if (k && i)
                        f[i - 1][j][k] += f[i][j][k] * k * i / (i * j + j * k + k * i);
                    if (i && !j && !k)
                        ar += f[i][0][0];
                    if (!i && j && !k)
                        as += f[0][j][0];
                    if (!i && !j && k)
                        ap += f[0][0][k];
                }
            }
        }
    
        cout << fixed << setprecision(10) << ar << " " << as << " " << ap << endl;
    }
    
  • 相关阅读:
    drf认证组件
    播放音频
    推荐
    makefile编写
    qt文件操作mv
    qt文件http网络下载
    为qt在window上用源代码编译库 (部分转载)
    qt线程池(转)
    crc校验
    树莓派网络配置查询
  • 原文地址:https://www.cnblogs.com/mollnn/p/14470195.html
Copyright © 2011-2022 走看看