扔骰子 可以选择扔到某个数的时候获得然后退出 或者不拿走继续扔
dp[i]表示扔第i次的时候的最大期望
f[n]=1/6*(max(1,f(n-1))+ max(2,f(n-2)) +max(3,f(n-1)) +max(4,f(n-1)) +max(5,f(n-1)) +max(6,f(n-1)) )
#include<stdio.h>
#define max(p,q)((p)>(q)?(p):(q))
int main(){
int n;
scanf("%d",&n);
double ans=3.5;//当扔1次的时候的最大期望
for(int i=1;i<n;i++){
double ans2=0;
for(int d=1;d<=6;d++)ans2+=max(ans,d)/6;
ans=ans2;
}
printf("%.10f\n",ans);
}
标签:骰子,期望,int,max,3.5,时候
From: https://www.cnblogs.com/liang302/p/16635581.html