【题目分析】
数学期望
【代码】
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
double dp[31];
int main()
{
int n;double t;
while (scanf("%d%lf",&n,&t)!=EOF&&n)
{
dp[n]=pow(2,n);
for (int i=n-1;i>=0;--i)
{
double p=max(t,pow(2,i)/dp[i+1]);
double p1=(p-t)/(1-t);
dp[i]=pow(2,i)*((p-t)/(1-t))+(1+p)/2*dp[i+1]*(1-(p-t)/(1-t));
}
printf("%.3lf\n",dp[0]);
}
}