HDU 4405 Aeroplane chess

题意

玩线性飞行棋,一共有n个格子,每一次扔骰子,扔几点走几格,如果踩到了跳跃格,就跳过去,而且可以连续跳跃,走到或冲过终点游戏就胜利。问你扔多少次骰子之后游戏胜利(求期望)。

思路

很直接的概率dp题,加上了跳跃,不过因为我们的方向始终如一,所以没有成环的悲剧发生,可以很轻松的解出来。
我们设dp[i]表示位于第i格时,完成游戏需要的扔骰子数目,那么我们有:

dp[i]=\sum_{k=1}^{6}(\frac{1}{6}dp[i+k])+1

对于a to b的跳跃关系,我们又有:

dp[a]=dp[b]

这样dp方程就推好了。

代码

 

Leave a Reply

Scroll to top