• LightOJ


    题意:有n扇门,一扇门可以从迷宫中出去,也可以返回到原点,求从迷宫中出去的预期时间。

    分析:求从迷宫中出去的期望(加权平均值)
    (一次性从迷宫中出去的概率p1 = frac{正的个数}{所有门的个数n},时间T1 = frac{sum x正}{正门的个数},期望为p1 * T1)
    (回到原点的概率p2 = frac{负的个数}{所有门的个数n},时间T2 = frac{sum x负}{负门的个数},回到原点再出去的期望为p2 * (T2 + E))

    总的期望为(E = p1 * T1 + p2 * (T2 + E)),求解得出这个期望(E = frac{p1 * T1 + p2 * T2}{1 - p2})
    (E = frac{sum x正 + sum x负}{正门的个数})

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <vector>
    #include <cmath>
    #include <algorithm>
    
    using namespace std;
    const int N = 105;
    int door[N];
    int gcd(int a, int b)
    {
        return b ? gcd(b, a % b) :a;
    }
    int main()
    {
        int t;
        scanf("%d", &t);
    
        int c = 0;
        while(t--)
        {
            int n;
            scanf("%d", &n);
            //每个门的时间
            for(int i = 1; i <= n; ++i) scanf("%d", &door[i]);
    
            //出去的门的时间,回来的门的时间
            int a = 0, b = 0;
            //出去的门的个数
            int tot = 0;
            bool flag = false;
            for(int i = 1; i <= n; ++i)
            {
                if(door[i] > 0)
                {
                    flag = true;
                    a += door[i];
                    ++tot;
                }
                else
                {
                    b += abs(door[i]);
                }
            }
    
            int t1 = a + b;
            int t2 = tot;
    
            //化简
            int q = gcd(t1, t2);
    
            if(flag)
            {
                printf("Case %d: %d/%d
    ", ++c, t1 / q, t2 / q);
            }
            else
            {
                printf("Case %d: inf
    ", ++c);
            }
        }
        return 0;
    }
    
  • 相关阅读:
    【51nod】2590 持续讨伐
    【51nod】2589 快速讨伐
    【51nod】2606 Secondary Substring
    【LOJ】#3098. 「SNOI2019」纸牌
    【洛谷】P4202 [NOI2008]奥运物流
    【LOJ】#3103. 「JSOI2019」节日庆典
    【LOJ】#3102. 「JSOI2019」神经网络
    【洛谷】P5348 密码解锁
    【洛谷】P4883 mzf的考验
    【LOJ】#3101. 「JSOI2019」精准预测
  • 原文地址:https://www.cnblogs.com/pixel-Teee/p/13214982.html
Copyright © 2020-2023  润新知