///题意:
/// A,B掷骰子,对于每一次点数大者胜,平为和,A先胜了m次A赢,B先胜了n次B赢。
///p1表示a赢,p2表示b赢,p=1-p1-p2表示平局
///a赢得概率 比一次p1 两次p0*p1 三次 p0^2*p1,即A赢的概率为p1+p*p1+p^2*p1+...p^n*p1,n->无穷
///即a_win=p1/(1-p);b_win=p2/(1-p);
///dp[i][j]表示a赢了j次,b赢了i次的概率
///dp[i][j]=dp[i-1][j]*b_win+dp[i][j-1]*a_win;
///ps:(两人的血量要换一换,数据错了)
# include
# include
# include
# include
using namespace std; double dp[2010][2010]; int main() { int i,j,n,m; double p1,p2,p,a_win,b_win,a[10],b[10]; while(~scanf("%d%d",&m,&n)) { for(i=1; i<=6; i++) scanf("%lf",&a[i]); for(i=1; i<=6; i++) scanf("%lf",&b[i]); a_win=0; b_win=0; for(i=2; i<=6; i++) { for(j=1; j
0) dp[i][j]+=dp[i][j-1]*a_win; if(i>0) dp[i][j]+=dp[i-1][j]*b_win; } } double ans=0; for(i=0; i
1) ans=1; printf("%.6lf\n",ans); } return 0; }