SRM 381 DIV1 Easy - TheDiceGame

問題


http://community.topcoder.com/stat?c=problem_statement&pm=8414&rd=10804

解き方


dpで解く。
前の状態から現在の状態までに行ける全ての場合について和をとっていく。
前の状態から+1回かつサイコロなので1/6を掛けたものになる。

コード


class TheDiceGame {

public: double expectedThrows(int candies) {
memset(dp,0,sizeof(dp));
for(int i=1;i<=candies;i++){
for(int j=1;j<=6;j++){
int prev=max(0,i-j);
dp[i]+=(dp[prev]+1.0)/6.0;
}
}

return dp[candies];
}

};

Share this

Related Posts

Previous
Next Post »