Statistics

Problem Statement for "ThreeDarts"

Problem Statement

In darts, the target is divided into sections. Each section has an assigned point value: a positive integer. These values are as follows:

  • For each x between 1 and 20, inclusive, there are sections worth 1*x, 2*x, and 3*x points. (These are called "single x", "double x", and "triple x".)
  • In the middle of the target is the bullseye. The bullseye consists of two sections: the outer one is worth 25 points and the inner one is worth 50.

You are given the int N.

Determine whether it's possible to score exactly N points by hitting the target with at most three darts. If no, return an empty int[]. If yes, return a int[] containing one way of scoring N points: for each dart that hits the target the number of points it scores.

Definition

Class:
ThreeDarts
Method:
throwDarts
Parameters:
int
Returns:
int[]
Method signature:
int[] throwDarts(int N)
(be sure your method is public)

Constraints

  • N will be between 1 and 200, inclusive.

Examples

  1. 50

    Returns: {50 }

    The simplest way to score 50 points is to take one dart and hit the inner bullseye.

  2. 179

    Returns: { }

    There is no way to score exactly 179 points using at most three darts.

  3. 6

    Returns: {3, 1, 2 }

    If a solution exists, any valid solution will be accepted. It's not required to use the smallest possible number of darts. The returned int[] does not have to be sorted.

  4. 60

    Returns: {30, 30 }

    Different darts may hit the same section of the target and thus get the same score. (The value 30 can be scored with a single dart by hitting the "double 15" section that is worth 2*15 points.)

  5. 1

    Returns: {1 }

  6. 2

    Returns: {2 }

  7. 3

    Returns: {3 }

  8. 4

    Returns: {4 }

  9. 5

    Returns: {5 }

  10. 7

    Returns: {7 }

  11. 8

    Returns: {8 }

  12. 9

    Returns: {9 }

  13. 10

    Returns: {10 }

  14. 11

    Returns: {11 }

  15. 12

    Returns: {12 }

  16. 13

    Returns: {13 }

  17. 14

    Returns: {14 }

  18. 15

    Returns: {15 }

  19. 16

    Returns: {16 }

  20. 17

    Returns: {17 }

  21. 18

    Returns: {18 }

  22. 19

    Returns: {19 }

  23. 20

    Returns: {20 }

  24. 21

    Returns: {21 }

  25. 22

    Returns: {22 }

  26. 23

    Returns: {1, 22 }

    No section is worth exactly 23 points so we need to use at least two darts. Our solution throws one dart into the single 1 and then one dart into the double 11.

  27. 24

    Returns: {24 }

  28. 25

    Returns: {25 }

  29. 26

    Returns: {26 }

  30. 27

    Returns: {27 }

  31. 28

    Returns: {28 }

  32. 29

    Returns: {1, 28 }

  33. 30

    Returns: {30 }

  34. 31

    Returns: {1, 30 }

  35. 32

    Returns: {32 }

  36. 33

    Returns: {33 }

  37. 34

    Returns: {34 }

  38. 35

    Returns: {1, 34 }

  39. 36

    Returns: {36 }

  40. 37

    Returns: {1, 36 }

  41. 38

    Returns: {38 }

  42. 39

    Returns: {39 }

  43. 40

    Returns: {40 }

  44. 41

    Returns: {1, 40 }

  45. 42

    Returns: {42 }

  46. 43

    Returns: {1, 42 }

  47. 44

    Returns: {2, 42 }

  48. 45

    Returns: {45 }

  49. 46

    Returns: {1, 45 }

  50. 47

    Returns: {2, 45 }

  51. 48

    Returns: {48 }

  52. 49

    Returns: {1, 48 }

  53. 51

    Returns: {51 }

  54. 52

    Returns: {1, 51 }

  55. 53

    Returns: {2, 51 }

  56. 54

    Returns: {54 }

  57. 55

    Returns: {1, 54 }

  58. 56

    Returns: {2, 54 }

  59. 57

    Returns: {57 }

  60. 58

    Returns: {1, 57 }

  61. 59

    Returns: {2, 57 }

  62. 61

    Returns: {1, 60 }

  63. 62

    Returns: {2, 60 }

  64. 63

    Returns: {3, 60 }

  65. 64

    Returns: {4, 60 }

  66. 65

    Returns: {8, 57 }

  67. 66

    Returns: {6, 60 }

  68. 67

    Returns: {10, 57 }

  69. 68

    Returns: {8, 60 }

  70. 69

    Returns: {9, 60 }

  71. 70

    Returns: {10, 60 }

  72. 71

    Returns: {14, 57 }

  73. 72

    Returns: {12, 60 }

  74. 73

    Returns: {16, 57 }

  75. 74

    Returns: {14, 60 }

  76. 75

    Returns: {15, 60 }

  77. 76

    Returns: {16, 60 }

  78. 77

    Returns: {27, 50 }

  79. 78

    Returns: {18, 60 }

  80. 79

    Returns: {22, 57 }

  81. 80

    Returns: {20, 60 }

  82. 81

    Returns: {21, 60 }

  83. 82

    Returns: {22, 60 }

  84. 83

    Returns: {33, 50 }

  85. 84

    Returns: {24, 60 }

  86. 85

    Returns: {28, 57 }

  87. 86

    Returns: {36, 50 }

  88. 87

    Returns: {27, 60 }

  89. 88

    Returns: {28, 60 }

  90. 89

    Returns: {39, 50 }

  91. 90

    Returns: {30, 60 }

  92. 91

    Returns: {34, 57 }

  93. 92

    Returns: {42, 50 }

  94. 93

    Returns: {33, 60 }

  95. 94

    Returns: {34, 60 }

  96. 95

    Returns: {45, 50 }

  97. 96

    Returns: {36, 60 }

  98. 97

    Returns: {57, 40 }

  99. 98

    Returns: {48, 50 }

  100. 99

    Returns: {39, 60 }

  101. 100

    Returns: {40, 60 }

  102. 101

    Returns: {51, 50 }

  103. 102

    Returns: {42, 60 }

  104. 103

    Returns: {1, 42, 60 }

  105. 104

    Returns: {54, 50 }

  106. 105

    Returns: {45, 60 }

  107. 106

    Returns: {1, 45, 60 }

  108. 107

    Returns: {57, 50 }

  109. 108

    Returns: {48, 60 }

  110. 109

    Returns: {1, 48, 60 }

  111. 110

    Returns: {60, 50 }

  112. 111

    Returns: {51, 60 }

  113. 112

    Returns: {1, 51, 60 }

  114. 113

    Returns: {2, 51, 60 }

  115. 114

    Returns: {54, 60 }

  116. 115

    Returns: {1, 54, 60 }

  117. 116

    Returns: {2, 54, 60 }

  118. 117

    Returns: {57, 60 }

  119. 118

    Returns: {1, 57, 60 }

  120. 119

    Returns: {2, 57, 60 }

  121. 120

    Returns: {60, 60 }

  122. 121

    Returns: {1, 60, 60 }

  123. 122

    Returns: {2, 60, 60 }

  124. 123

    Returns: {3, 60, 60 }

  125. 124

    Returns: {4, 60, 60 }

  126. 125

    Returns: {8, 57, 60 }

  127. 126

    Returns: {6, 60, 60 }

  128. 127

    Returns: {10, 57, 60 }

  129. 128

    Returns: {8, 60, 60 }

  130. 129

    Returns: {9, 60, 60 }

  131. 130

    Returns: {10, 60, 60 }

  132. 131

    Returns: {14, 57, 60 }

  133. 132

    Returns: {12, 60, 60 }

  134. 133

    Returns: {16, 57, 60 }

  135. 134

    Returns: {14, 60, 60 }

  136. 135

    Returns: {15, 60, 60 }

  137. 136

    Returns: {16, 60, 60 }

  138. 137

    Returns: {27, 60, 50 }

  139. 138

    Returns: {18, 60, 60 }

  140. 139

    Returns: {22, 57, 60 }

  141. 140

    Returns: {20, 60, 60 }

  142. 141

    Returns: {21, 60, 60 }

  143. 142

    Returns: {22, 60, 60 }

  144. 143

    Returns: {33, 60, 50 }

  145. 144

    Returns: {24, 60, 60 }

  146. 145

    Returns: {28, 57, 60 }

  147. 146

    Returns: {36, 60, 50 }

  148. 147

    Returns: {27, 60, 60 }

  149. 148

    Returns: {28, 60, 60 }

  150. 149

    Returns: {39, 60, 50 }

  151. 150

    Returns: {30, 60, 60 }

  152. 151

    Returns: {34, 57, 60 }

  153. 152

    Returns: {42, 60, 50 }

  154. 153

    Returns: {33, 60, 60 }

  155. 154

    Returns: {34, 60, 60 }

  156. 155

    Returns: {45, 60, 50 }

  157. 156

    Returns: {36, 60, 60 }

  158. 157

    Returns: {57, 40, 60 }

  159. 158

    Returns: {48, 60, 50 }

  160. 159

    Returns: {39, 60, 60 }

  161. 160

    Returns: {40, 60, 60 }

  162. 161

    Returns: {51, 60, 50 }

  163. 162

    Returns: {42, 60, 60 }

  164. 163

    Returns: { }

  165. 164

    Returns: {54, 60, 50 }

  166. 165

    Returns: {45, 60, 60 }

  167. 166

    Returns: { }

  168. 167

    Returns: {57, 60, 50 }

  169. 168

    Returns: {48, 60, 60 }

  170. 169

    Returns: { }

  171. 170

    Returns: {60, 60, 50 }

  172. 171

    Returns: {51, 60, 60 }

  173. 172

    Returns: { }

  174. 173

    Returns: { }

  175. 174

    Returns: {54, 60, 60 }

  176. 175

    Returns: { }

  177. 176

    Returns: { }

  178. 177

    Returns: {57, 60, 60 }

  179. 178

    Returns: { }

  180. 180

    Returns: {60, 60, 60 }

  181. 181

    Returns: { }

  182. 182

    Returns: { }

  183. 183

    Returns: { }

  184. 184

    Returns: { }

  185. 185

    Returns: { }

  186. 186

    Returns: { }

  187. 187

    Returns: { }

  188. 188

    Returns: { }

  189. 189

    Returns: { }

  190. 190

    Returns: { }

  191. 191

    Returns: { }

  192. 192

    Returns: { }

  193. 193

    Returns: { }

  194. 194

    Returns: { }

  195. 195

    Returns: { }

  196. 196

    Returns: { }

  197. 197

    Returns: { }

  198. 198

    Returns: { }

  199. 199

    Returns: { }

  200. 200

    Returns: { }


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: