链接: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;
}