[BOJ 17793] Lucky Draw

View as PDF

Submit solution

Points: 4
Time limit: 2.0s
Memory limit: 512M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

You and your friends at the Betting against All Probability Club are visiting a casino where the following game is played.</p>

Each of the n players starts with k lives and puts in a fixed amount of money. In each round of the game, each player flips a biased coin and loses a life if she gets tails. The game ends when only one player remains, in which case this person wins, or ends in a draw if all remaining players lose their last life in the same round. If there is a winner, she wins n times her original bet. In case of a draw, no one wins anything.

Being a BAPC member you quickly realize the casino has an edge here: whenever the game ends in a draw all of the contestants lose the money they bet. You are now wondering what exactly is the probability that this game ends in a draw, so you can figure out how much the casino profits on average.

입력 형식

  • One line containing two integers, 2 ≤ n ≤ 50, the number of players, 1 ≤ k ≤ 50, the number of lives each player has, and a floating point number 0.1 ≤ p ≤ 0.9, the probability the coin lands heads.

출력 형식

  • Output a single floating point number: the probability of the game ending in a draw. Your answer should have an absolute error of at most 10−6.

예제 입력 1

2 2 0.5

예제 출력 1

0.185185185

예제 입력 2

2 2 0.8

예제 출력 2

0.056241426

예제 입력 3

5 3 0.85

예제 출력 3

0.045463964

Comments

There are no comments at the moment.