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