思路:
概率dp
相同的局势的期望一样。
所以从后向前推。
#include <iostream>
#include <cstdio>
#include <string.h>
#include <cmath>
#define eps 1e-9
typedef long long int lli;
using namespace std;
int fl[100100];
double dp[100100];
int main(){
int n,m;
int temp;
while(scanf("%d%d",&n,&m),n||m){
memset(dp,0,sizeof(dp));
memset(fl,0,sizeof(fl));
for(int i = 1;i <= m;i++){
scanf("%d",&temp);
scanf("%d",fl+temp);
}
double tem = 0;
for(int i = n-1;i >= 0;i--){
tem = 0;
if(fl[i] == 0){
for(int j = 1;j <= 6;j++){
tem += (dp[i+j]);
}
tem /= 6;
dp[i] = tem + 1;
}
else{
dp[i] = dp[fl[i]];
}
}
printf("%.4f\n",dp[0]);
}
}