uva-10491-经典问题

https://vjudge.net/problem/UVA-10491

    有a个门后是牛,b个门后是车,一开始随机选一个门,然后主持人会打开c(c<a)个为牛的门,之后可以选择换门(这里要求总是换门),问最后选择的门后是车的概率。分情况讨论,如果第一次选的是牛,a/(a+b), 那么换到车的概率: (a/(a+b))*(b/(a+b-c-1))  //因为必须换门所以多减去1。如果第一次选的是车,那么

概率是(b/(a+b))*((b-1)/(a+b-c-1)),加一起就是答案。

  

 1 #include<iostream>
 2 #include<cstring>
 3 #include<queue>
 4 #include<cstdio>
 5 #include<stack>
 6 #include<set>
 7 #include<map>
 8 #include<cmath>
 9 #include<ctime>
10 #include<time.h> 
11 #include<algorithm>
12 using namespace std;
13 #define mp make_pair
14 #define pb push_back
15 #define debug puts("debug")
16 #define LL long long 
17 #define pii pair<int,int>
18 #define eps 1e-12
19 char s[111];
20 int main()
21 {
22     LL n,m,i,j,k,t;
23     double a,b,c;
24     while(cin>>a>>b>>c){
25         double s=(a*b+b*b-b)/((a+b)*(a-c+b-1));
26         printf("%.5f
",s);
27     }
28     return 0; 
29 }
原文地址:https://www.cnblogs.com/zzqc/p/8973906.html