Statistics

Problem Statement for "DancingClass"

Problem Statement

Hero is going to give a dancing class. Exactly n students already signed up for the class. Hero doesn't know the genders of those students, so he makes the simplifying assumption that each student is either a boy or a girl with equal probability, and that these random choices are mutually independent.
During the class there will be k times when Hero needs to choose one boy and one girl for the demonstration of a new dance move. Hero is happy if he is able to choose k distinct boy-girl pairs for those demonstrations. (The same person can be chosen multiple times, as long as it is always with a different partner.)
Hero now wonders what is the probability that he will be happy. Return "High" if the probability is strictly more than 50%, "Low" if it is strictly less than 50%, and "Equal" if it is exactly 50%. Note that the return value is case-sensitive.

Definition

Class:
DancingClass
Method:
checkOdds
Parameters:
int, int
Returns:
String
Method signature:
String checkOdds(int n, int k)
(be sure your method is public)

Constraints

  • n will be between 1 and 500, inclusive.
  • k will be between 1 and 500, inclusive.

Examples

  1. 2

    1

    Returns: "Equal"

    There are n=2 participants and Hero needs to choose k=1 boy-girl pair. With probability 50% one participant is a boy and the other is a girl, which will make Hero happy. With probability 50% both participants have the same gender, and in that case Hero will be unhappy. Hence, the probability that Hero will be happy is exactly 50 percent.

  2. 3

    2

    Returns: "High"

    Now there are three participants and Hero needs to form two distinct boy-girl pairs. With probability 1/8 all three participants are boys, and with probability 1/8 all three of them are girls. In those cases Hero will be unhappy. In all remaining cases Hero can form exactly two pairs, which is enough to make him happy. Thus, the probability of Hero being happy is 3/4, and therefore we should return "High".

  3. 4

    4

    Returns: "Low"

  4. 500

    500

    Returns: "High"

  5. 40

    397

    Returns: "Low"

  6. 2

    1

    Returns: "Equal"

  7. 2

    2

    Returns: "Low"

  8. 3

    2

    Returns: "High"

  9. 3

    3

    Returns: "Low"

  10. 4

    3

    Returns: "High"

  11. 4

    4

    Returns: "Low"

  12. 5

    6

    Returns: "High"

  13. 5

    7

    Returns: "Low"

  14. 6

    8

    Returns: "High"

  15. 6

    9

    Returns: "Low"

  16. 7

    12

    Returns: "High"

  17. 7

    13

    Returns: "Low"

  18. 8

    15

    Returns: "High"

  19. 8

    16

    Returns: "Low"

  20. 9

    18

    Returns: "High"

  21. 9

    19

    Returns: "Low"

  22. 10

    24

    Returns: "High"

  23. 10

    25

    Returns: "Low"

  24. 11

    28

    Returns: "High"

  25. 11

    29

    Returns: "Low"

  26. 12

    35

    Returns: "High"

  27. 12

    36

    Returns: "Low"

  28. 13

    40

    Returns: "High"

  29. 13

    41

    Returns: "Low"

  30. 14

    48

    Returns: "High"

  31. 14

    49

    Returns: "Low"

  32. 15

    54

    Returns: "High"

  33. 15

    55

    Returns: "Low"

  34. 16

    63

    Returns: "High"

  35. 16

    64

    Returns: "Low"

  36. 17

    70

    Returns: "High"

  37. 17

    71

    Returns: "Low"

  38. 18

    80

    Returns: "High"

  39. 18

    81

    Returns: "Low"

  40. 19

    88

    Returns: "High"

  41. 19

    89

    Returns: "Low"

  42. 20

    96

    Returns: "High"

  43. 20

    97

    Returns: "Low"

  44. 21

    108

    Returns: "High"

  45. 21

    109

    Returns: "Low"

  46. 22

    117

    Returns: "High"

  47. 22

    118

    Returns: "Low"

  48. 23

    130

    Returns: "High"

  49. 23

    131

    Returns: "Low"

  50. 24

    140

    Returns: "High"

  51. 24

    141

    Returns: "Low"

  52. 25

    154

    Returns: "High"

  53. 25

    155

    Returns: "Low"

  54. 26

    165

    Returns: "High"

  55. 26

    166

    Returns: "Low"

  56. 27

    180

    Returns: "High"

  57. 27

    181

    Returns: "Low"

  58. 28

    192

    Returns: "High"

  59. 28

    193

    Returns: "Low"

  60. 29

    208

    Returns: "High"

  61. 29

    209

    Returns: "Low"

  62. 30

    221

    Returns: "High"

  63. 30

    222

    Returns: "Low"

  64. 31

    238

    Returns: "High"

  65. 31

    239

    Returns: "Low"

  66. 32

    252

    Returns: "High"

  67. 32

    253

    Returns: "Low"

  68. 33

    270

    Returns: "High"

  69. 33

    271

    Returns: "Low"

  70. 34

    285

    Returns: "High"

  71. 34

    286

    Returns: "Low"

  72. 35

    304

    Returns: "High"

  73. 35

    305

    Returns: "Low"

  74. 36

    320

    Returns: "High"

  75. 36

    321

    Returns: "Low"

  76. 36

    395

    Returns: "Low"

  77. 37

    336

    Returns: "High"

  78. 37

    337

    Returns: "Low"

  79. 38

    357

    Returns: "High"

  80. 38

    358

    Returns: "Low"

  81. 39

    374

    Returns: "High"

  82. 39

    375

    Returns: "Low"

  83. 40

    396

    Returns: "High"

  84. 40

    397

    Returns: "Low"

  85. 41

    414

    Returns: "High"

  86. 41

    415

    Returns: "Low"

  87. 42

    437

    Returns: "High"

  88. 42

    438

    Returns: "Low"

  89. 42

    468

    Returns: "Low"

  90. 43

    456

    Returns: "High"

  91. 43

    457

    Returns: "Low"

  92. 44

    480

    Returns: "High"

  93. 44

    481

    Returns: "Low"

  94. 168

    300

    Returns: "High"

  95. 170

    225

    Returns: "High"

  96. 206

    146

    Returns: "High"

  97. 219

    396

    Returns: "High"

  98. 272

    39

    Returns: "High"

  99. 282

    328

    Returns: "High"

  100. 293

    383

    Returns: "High"

  101. 328

    437

    Returns: "High"

  102. 335

    1

    Returns: "High"

  103. 370

    413

    Returns: "High"

  104. 392

    105

    Returns: "High"

  105. 403

    154

    Returns: "High"

  106. 422

    217

    Returns: "High"

  107. 448

    227

    Returns: "High"

  108. 462

    492

    Returns: "High"

  109. 463

    465

    Returns: "High"

  110. 479

    359

    Returns: "High"

  111. 496

    443

    Returns: "High"

  112. 500

    1

    Returns: "High"

  113. 500

    500

    Returns: "High"

  114. 1

    1

    Returns: "Low"

  115. 152

    400

    Returns: "High"

  116. 400

    401

    Returns: "High"

  117. 65

    500

    Returns: "High"

  118. 6

    7

    Returns: "High"

  119. 2

    500

    Returns: "Low"


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: