YahtzeeScore
SRM 146 · 2003-05-14 · by dark_lord
Problem Statement
This task is about the scoring in the first phase of the die-game Yahtzee, where five dice are used. The score is determined by the values on the upward die faces after a roll. The player gets to choose a value, and all dice that show the chosen value are considered active. The score is simply the sum of values on active dice.
Say, for instance, that a player ends up with the die faces showing 2, 2, 3, 5 and 4. Choosing the value two makes the dice showing 2 active and yields a score of 2 + 2 = 4, while choosing 5 makes the one die showing 5 active, yielding a score of 5.
Your method will take as input a
Constraints
- toss will contain exactly 5 elements.
- Each element of toss will be between 1 and 6, inclusive.
{ 2, 2, 3, 5, 4 }
Returns: 5
The example from the text.
{ 6, 4, 1, 1, 3 }
Returns: 6
Selecting 1 as active yields 1 + 1 = 2, selecting 3 yields 3, selecting 4 yields 4 and selecting 6 yields 6, which is the maximum number of points.
{ 5, 3, 5, 3, 3 }
Returns: 10
{ 2, 3, 2, 2, 3 }
Returns: 6
{ 1, 1, 1, 1, 1 }
Returns: 5
Submissions are judged against all 66 archived test cases, of which 5 are shown here. Case numbers match the judge’s.
Language: C++17 · define a public class YahtzeeScore with a public method int maxPoints(vector<int> toss) · 66 test cases · 2 s / 256 MB per case