题目链接:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2422
题目大意:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20
期望的两个性质:
(2)划分方法一:把天数全部考虑出来:
划分方法二:按第一天是否结束划分:
因为第一天已经确定为高兴,并且明天独立。那么第二天相当于一个新的开始就是1+e天。
#include<bits/stdc++.h>
#define LL long long
using namespace std;
double f[105][105];
int main()
{
int t, T=1;
scanf("%d", &t);
while(t--){
memset(f, 0, sizeof(f));
int a, b, n;
scanf("%d/%d %d", &a, &b, &n);
double p=1.0*a/b;
f[0][0]=1, f[0][1]=0;
for(int i=1; i<=n; i++){
for(int j=0; j*b<=i*a; j++){
f[i][j]=f[i-1][j]*(1-p);
if(j){
f[i][j]+=f[i-1][j-1]*(p);
}
}
}
double Q=0;
for(int i=0; i*b<=n*a; i++){
Q+=f[n][i];
}
printf("Case #%d: %d\n", T++, int(1/Q));
}
return 0;
}