B.出题人的女装

链接:https://ac.nowcoder.com/acm/contest/358/B

题意:

出题人早上起床就打算穿衣服,他有两箱衣服,因为懒,他在这两天只打算打开一个箱子.
两个箱子中一个有n件衣服,其中有x件女装,另一个有m件衣服,其中有y件女装.
出题人在第一天随机挑一个箱子后,接下来的两天就会从此箱子中随机找一件衣服穿.

又因为出题人懒而且很有钱,所以他穿完衣服后不会去洗,而是直接扔进垃圾桶,也不会放回原来的箱子.

已知出题人第1天穿了女装,求他第二天依然穿女装的概率

t为0 小数,t为1分数。

思路:

条件概率,开始以为选箱子是1/2,wa了一整场。

代码:

#include <bits/stdc++.h>
using namespace std;
long long n,m,x,y,t;
 
int main()
{
        while (cin >> n >> m >> x >> y >> t)
        {
            long long up = (x*x-x)*(m-1)*m+(y*y-y)*(n-1)*n;
            long long down = (n-1)*(m-1)*(m*x+n*y);
            long long gcd = __gcd(up, down);
            if (t == 1)
            {
                    printf("%lld/%lld
", up / gcd, down / gcd);
            }
            else
            {
                    printf("%.3lf
",1.0*up/down);
            }
        }
    return 0;
}

  

原文地址:https://www.cnblogs.com/YDDDD/p/10290776.html