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
Determine whether it's possible to score exactly N points by hitting the target with at most three darts.
If no, return an empty
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
50
Returns: {50 }
The simplest way to score 50 points is to take one dart and hit the inner bullseye.
179
Returns: { }
There is no way to score exactly 179 points using at most three darts.
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.
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.)
1
Returns: {1 }
2
Returns: {2 }
3
Returns: {3 }
4
Returns: {4 }
5
Returns: {5 }
7
Returns: {7 }
8
Returns: {8 }
9
Returns: {9 }
10
Returns: {10 }
11
Returns: {11 }
12
Returns: {12 }
13
Returns: {13 }
14
Returns: {14 }
15
Returns: {15 }
16
Returns: {16 }
17
Returns: {17 }
18
Returns: {18 }
19
Returns: {19 }
20
Returns: {20 }
21
Returns: {21 }
22
Returns: {22 }
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.
24
Returns: {24 }
25
Returns: {25 }
26
Returns: {26 }
27
Returns: {27 }
28
Returns: {28 }
29
Returns: {1, 28 }
30
Returns: {30 }
31
Returns: {1, 30 }
32
Returns: {32 }
33
Returns: {33 }
34
Returns: {34 }
35
Returns: {1, 34 }
36
Returns: {36 }
37
Returns: {1, 36 }
38
Returns: {38 }
39
Returns: {39 }
40
Returns: {40 }
41
Returns: {1, 40 }
42
Returns: {42 }
43
Returns: {1, 42 }
44
Returns: {2, 42 }
45
Returns: {45 }
46
Returns: {1, 45 }
47
Returns: {2, 45 }
48
Returns: {48 }
49
Returns: {1, 48 }
51
Returns: {51 }
52
Returns: {1, 51 }
53
Returns: {2, 51 }
54
Returns: {54 }
55
Returns: {1, 54 }
56
Returns: {2, 54 }
57
Returns: {57 }
58
Returns: {1, 57 }
59
Returns: {2, 57 }
61
Returns: {1, 60 }
62
Returns: {2, 60 }
63
Returns: {3, 60 }
64
Returns: {4, 60 }
65
Returns: {8, 57 }
66
Returns: {6, 60 }
67
Returns: {10, 57 }
68
Returns: {8, 60 }
69
Returns: {9, 60 }
70
Returns: {10, 60 }
71
Returns: {14, 57 }
72
Returns: {12, 60 }
73
Returns: {16, 57 }
74
Returns: {14, 60 }
75
Returns: {15, 60 }
76
Returns: {16, 60 }
77
Returns: {27, 50 }
78
Returns: {18, 60 }
79
Returns: {22, 57 }
80
Returns: {20, 60 }
81
Returns: {21, 60 }
82
Returns: {22, 60 }
83
Returns: {33, 50 }
84
Returns: {24, 60 }
85
Returns: {28, 57 }
86
Returns: {36, 50 }
87
Returns: {27, 60 }
88
Returns: {28, 60 }
89
Returns: {39, 50 }
90
Returns: {30, 60 }
91
Returns: {34, 57 }
92
Returns: {42, 50 }
93
Returns: {33, 60 }
94
Returns: {34, 60 }
95
Returns: {45, 50 }
96
Returns: {36, 60 }
97
Returns: {57, 40 }
98
Returns: {48, 50 }
99
Returns: {39, 60 }
100
Returns: {40, 60 }
101
Returns: {51, 50 }
102
Returns: {42, 60 }
103
Returns: {1, 42, 60 }
104
Returns: {54, 50 }
105
Returns: {45, 60 }
106
Returns: {1, 45, 60 }
107
Returns: {57, 50 }
108
Returns: {48, 60 }
109
Returns: {1, 48, 60 }
110
Returns: {60, 50 }
111
Returns: {51, 60 }
112
Returns: {1, 51, 60 }
113
Returns: {2, 51, 60 }
114
Returns: {54, 60 }
115
Returns: {1, 54, 60 }
116
Returns: {2, 54, 60 }
117
Returns: {57, 60 }
118
Returns: {1, 57, 60 }
119
Returns: {2, 57, 60 }
120
Returns: {60, 60 }
121
Returns: {1, 60, 60 }
122
Returns: {2, 60, 60 }
123
Returns: {3, 60, 60 }
124
Returns: {4, 60, 60 }
125
Returns: {8, 57, 60 }
126
Returns: {6, 60, 60 }
127
Returns: {10, 57, 60 }
128
Returns: {8, 60, 60 }
129
Returns: {9, 60, 60 }
130
Returns: {10, 60, 60 }
131
Returns: {14, 57, 60 }
132
Returns: {12, 60, 60 }
133
Returns: {16, 57, 60 }
134
Returns: {14, 60, 60 }
135
Returns: {15, 60, 60 }
136
Returns: {16, 60, 60 }
137
Returns: {27, 60, 50 }
138
Returns: {18, 60, 60 }
139
Returns: {22, 57, 60 }
140
Returns: {20, 60, 60 }
141
Returns: {21, 60, 60 }
142
Returns: {22, 60, 60 }
143
Returns: {33, 60, 50 }
144
Returns: {24, 60, 60 }
145
Returns: {28, 57, 60 }
146
Returns: {36, 60, 50 }
147
Returns: {27, 60, 60 }
148
Returns: {28, 60, 60 }
149
Returns: {39, 60, 50 }
150
Returns: {30, 60, 60 }
151
Returns: {34, 57, 60 }
152
Returns: {42, 60, 50 }
153
Returns: {33, 60, 60 }
154
Returns: {34, 60, 60 }
155
Returns: {45, 60, 50 }
156
Returns: {36, 60, 60 }
157
Returns: {57, 40, 60 }
158
Returns: {48, 60, 50 }
159
Returns: {39, 60, 60 }
160
Returns: {40, 60, 60 }
161
Returns: {51, 60, 50 }
162
Returns: {42, 60, 60 }
163
Returns: { }
164
Returns: {54, 60, 50 }
165
Returns: {45, 60, 60 }
166
Returns: { }
167
Returns: {57, 60, 50 }
168
Returns: {48, 60, 60 }
169
Returns: { }
170
Returns: {60, 60, 50 }
171
Returns: {51, 60, 60 }
172
Returns: { }
173
Returns: { }
174
Returns: {54, 60, 60 }
175
Returns: { }
176
Returns: { }
177
Returns: {57, 60, 60 }
178
Returns: { }
180
Returns: {60, 60, 60 }
181
Returns: { }
182
Returns: { }
183
Returns: { }
184
Returns: { }
185
Returns: { }
186
Returns: { }
187
Returns: { }
188
Returns: { }
189
Returns: { }
190
Returns: { }
191
Returns: { }
192
Returns: { }
193
Returns: { }
194
Returns: { }
195
Returns: { }
196
Returns: { }
197
Returns: { }
198
Returns: { }
199
Returns: { }
200
Returns: { }