不是怎么会啊。。。。。概率一直都是毫无思路。。。。虽然其它的也没思路。。。。。。。。T_T。。。。
dp[i]表示走到i之后所能获得的期望 (包括i)
AC代码如下:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
int main(){
double EX[101], gold[101];
int T, Case = 1, N;
cin >> T;
while( T-- ){
cin >> N;
for( int i = 1; i <= N; i++ ){
cin >> gold[i];
}
memset( EX, 0, sizeof( EX ) );
EX[N] = gold[N];
for( int i = N - 1; i >= 1; i-- ){
double j = min<double>( N - i, 6 );
EX[i] = gold[i];
for( int k = 1; k <= j; k++ ){
EX[i] += EX[i+k] / j;
}
}
printf( "Case %d: %.10lf\n", Case++, EX[1] );//注意输出
}
return 0;
}