计算概率的,其实只要把题仔细的看明白就很简单。但是题不大好读,我读了好几遍才懂。
具体实际上很简单,设三个数分别为mn, mc, k;
那么如果一开始选中car,ans = (mc/(mc+mn)) * (mc-1)/(mc-1+mn-k);
如果是牛,ans = (mn/(mc+mn)) * (mc)/(mn-1-k+mc);
答案即为两种情况的和。
//============================================================================
// Name : 10491.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
double ans;
int mn, mc, k;
int main() {
freopen("a.txt", "r", stdin);
while(scanf("%d%d%d", &mn, &mc, &k)!=EOF){
ans = 0.0;
ans = (mc-1)*1.0/(mc-1+mn-k)*(mc)/(mc+mn)+(mc)*1.0/(mn-1-k+mc)*(mn)/(mc+mn);
printf("%.5lf\n", ans);
}
return 0;
}