题意:每天玩纸牌游戏,若胜的概率严格大于p时结束,第二天接着玩。每天最多玩n盘,n盘之后概率还是没有严格大于p,则结束而且以后再也不玩了。问玩多少天之后就不玩了。
思路:
int a,b,n;
double f[N][N];
int main()
{
int num=0;
rush()
{
scanf("%d/%d %d",&a,&b,&n);
double p=1.0*a/b;
clr(f,0);
f[0][0]=1;
int i,j;
FOR1(i,n) for(j=0;j*b<=a*i;j++)
{
f[i][j]=f[i-1][j]*(1-p);
if(j) f[i][j]+=f[i-1][j-1]*p;
}
double ans=0;
for(i=0;i*b<=a*n;i++) ans+=f[n][i];
printf("Case #%d: %d\n",++num,(int)(1/ans));
}
}