dp[i]表示第i个位置跳出去的期望天数,先构造出N+1到N+5这几个位置,然后先把dp[N-N+5]这六个位置全部赋值为0,因为这几个位置都已经出去了。
然后就是递推了
如果该点没有航班的话:
dp[x] = (1/6)*(dp[x+1] + dp[x+2] + dp[x+3] + dp[x+4] + dp[x+5] + dp[x+6]) + 1;
否则:
dp[x] = dp[link[x]]; 其中link[x]表示x连到哪一个点。
代码如下:
#include #include #include #include #include #include #include #include