Statistics

Problem Statement for "MarblesInABag"

Problem Statement

Your friend Psycho Sid has challenged you to a game. He has a bag containing redCount red marbles and blueCount blue marbles. There will be an odd number of marbles in the bag, and you go first. On your turn, you reach into the bag and remove a random marble from the bag; each marble may be selected with equal probability. After your turn is over, Sid will reach into the bag and remove a blue marble; if there is no blue marble for Sid to remove, then he wins. If the final marble removed from the bag is blue, you will win. Otherwise, Sid wins.

Given the number of red and blue marbles in the bag, determine the probability that you win the game.

Definition

Class:
MarblesInABag
Method:
getProbability
Parameters:
int, int
Returns:
double
Method signature:
double getProbability(int redCount, int blueCount)
(be sure your method is public)

Notes

  • A return value with either an absolute or relative error of less than 1.0e-9 is considered correct.

Constraints

  • redCount will be between 0 and 4000, inclusive.
  • blueCount will be between 0 and 4000, inclusive.
  • The sum of redCount and blueCount will be odd.

Examples

  1. 1

    2

    Returns: 0.3333333333333333

    Here you have a 1/3 chance of pulling out the red marble on your first turn. If you pull a blue marble, Sid will remove the other blue marble and you lose.

  2. 2

    3

    Returns: 0.13333333333333333

    Here you must remove both red marbles on consecutive pulls. This will happen 2/15 of the time.

  3. 2

    5

    Returns: 0.22857142857142856

  4. 11

    6

    Returns: 0.0

    Here you can never win.

  5. 319

    3000

    Returns: 1.0789966341876459E-9

    Very small (but non zero) probability of winning.

  6. 318

    2969

    Returns: 1.0014681368677624E-9

  7. 0

    13

    Returns: 1.0

  8. 369

    4000

    Returns: 1.027386377638627E-9

  9. 3999

    4000

    Returns: 0.0

    Largest run time possible case currently.

  10. 4

    11

    Returns: 0.12183372183372182

  11. 41

    2468

    Returns: 0.2857738903477601

  12. 233

    2500

    Returns: 7.400574775634656E-7

  13. 316

    3725

    Returns: 4.8158789702632905E-8

  14. 135

    3478

    Returns: 0.009291698497459073

  15. 46

    2963

    Returns: 0.27599774658315296

  16. 145

    1706

    Returns: 1.3398675593468236E-4

  17. 82

    3281

    Returns: 0.08465914427175113

  18. 49

    1962

    Returns: 0.16783155660153382

  19. 299

    3942

    Returns: 4.4535674142703256E-7

  20. 82

    1437

    Returns: 0.013213023238952888

  21. 39

    2604

    Returns: 0.31841140007676555

  22. 153

    3902

    Returns: 0.005755807316760704

  23. 29

    382

    Returns: 0.07349514473114374

  24. 142

    2717

    Returns: 0.0023890683868597953

  25. 371

    3896

    Returns: 5.19113853670316E-10

  26. 144

    1727

    Returns: 1.606658463836652E-4

  27. 277

    3538

    Returns: 7.601962589424384E-7

  28. 186

    3913

    Returns: 0.0010261767307635475

  29. 166

    2299

    Returns: 1.6370093111230552E-4

  30. 103

    1894

    Returns: 0.007330283649328616

  31. 70

    3811

    Returns: 0.15933479136057596

  32. 233

    3322

    Returns: 1.423300148373267E-5

  33. 66

    1673

    Returns: 0.05533271387815977

  34. 314

    3711

    Returns: 5.471596399392672E-8

  35. 253

    2868

    Returns: 5.361268623796721E-7

  36. 154

    3645

    Returns: 0.004196501433766912

  37. 66

    757

    Returns: 0.0065450699298992485

  38. 37

    860

    Returns: 0.12118554773860966

  39. 72

    1741

    Returns: 0.04219075266984772

  40. 77

    3530

    Returns: 0.11386716585379968

  41. 31

    3036

    Returns: 0.44683943441800783

  42. 184

    2191

    Returns: 2.310947760364422E-5

  43. 28

    2107

    Returns: 0.41327155268717336

  44. 94

    1041

    Returns: 0.0012351966635389174

  45. 264

    3265

    Returns: 9.126378309582937E-7

  46. 344

    3805

    Returns: 4.875851478757178E-9

  47. 272

    3891

    Returns: 3.2747879340481335E-6

  48. 37

    3350

    Returns: 0.394299209600666

  49. 300

    3101

    Returns: 1.4615031054310325E-8

  50. 39

    3548

    Returns: 0.38431787577451304

  51. 623

    3630

    Returns: 3.904405782452034E-26

  52. 84

    3955

    Returns: 0.10462954858990839

  53. 2756

    3841

    Returns: 0.0

  54. 966

    3377

    Returns: 4.4613505531156827E-64

  55. 1931

    2308

    Returns: 0.0

  56. 944

    439

    Returns: 0.0

  57. 626

    3323

    Returns: 1.3146792913491548E-28

  58. 1537

    1538

    Returns: 0.0

  59. 118

    2083

    Returns: 0.0037330326851001167

  60. 2929

    542

    Returns: 0.0

  61. 833

    3116

    Returns: 4.431535401569654E-52

  62. 4000

    3999

    Returns: 0.0

  63. 1

    0

    Returns: 0.0

  64. 3

    0

    Returns: 0.0

  65. 3999

    0

    Returns: 0.0

  66. 0

    1

    Returns: 1.0

  67. 0

    3

    Returns: 1.0

  68. 0

    3999

    Returns: 1.0

  69. 2999

    4000

    Returns: 0.0

  70. 100

    3999

    Returns: 0.06012370032768307

  71. 2001

    4000

    Returns: 2.67852391672556E-231

  72. 3998

    3999

    Returns: 0.0

  73. 1999

    3998

    Returns: 6.037207771130375E-231

  74. 3169

    3998

    Returns: 0.0

  75. 1999

    4000

    Returns: 8.052952917314544E-231

  76. 2000

    3999

    Returns: 4.021460617208094E-231

  77. 11

    2000

    Returns: 0.7198760401207562

  78. 3001

    4000

    Returns: 0.0

  79. 2567

    3984

    Returns: 0.0

  80. 160

    1973

    Returns: 9.285636197148742E-5

  81. 3999

    3998

    Returns: 0.0

  82. 3000

    3001

    Returns: 0.0

  83. 201

    4000

    Returns: 4.904044392672374E-4

  84. 101

    4000

    Returns: 0.05795115870026031

  85. 201

    3998

    Returns: 4.889608126783985E-4

  86. 123

    4000

    Returns: 0.02427047111705665

  87. 3000

    3901

    Returns: 0.0

  88. 3213

    4000

    Returns: 0.0

  89. 50

    3999

    Returns: 0.3044221915596899

  90. 1500

    3999

    Returns: 9.184597965197581E-129

  91. 3

    6

    Returns: 0.11428571428571427

  92. 2893

    3678

    Returns: 0.0

  93. 2000

    2871

    Returns: 0.0

  94. 301

    2000

    Returns: 2.585211360800066E-12

  95. 2000

    1999

    Returns: 0.0

  96. 500

    3999

    Returns: 3.5323439031614692E-16

  97. 4

    501

    Returns: 0.7889006745979239

  98. 1520

    3999

    Returns: 3.164747715787049E-132

  99. 1169

    3998

    Returns: 1.2245073481844732E-78

  100. 600

    1201

    Returns: 2.0923709784403826E-71

  101. 3007

    3952

    Returns: 0.0

  102. 1501

    4000

    Returns: 6.67130302438379E-129

  103. 3800

    3901

    Returns: 0.0

  104. 49

    4000

    Returns: 0.3130582472631488

  105. 3981

    4000

    Returns: 0.0

  106. 2100

    3301

    Returns: 1.0075407E-317

  107. 999

    4000

    Returns: 6.214680600113773E-58

  108. 3990

    3999

    Returns: 0.0

  109. 2673

    2890

    Returns: 0.0


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: