Ваша задача состоит в том, чтобы подвести итоги и оценку выходного одного игрока в игре 10-контактный боулинг после до 21 рулонов .
Броски представлены в виде последовательности целых чисел в вашем предпочтительном методе ввода . Каждое целое число соответствует количеству пинов, которые были сбиты в этом броске.
счет
После каждого раунда количество выбитых в этом раунде булавок засчитывается в итоговый счет. Если игрок сбивает все десять булавок в первом броске раунда, это удар , и раунд окончен. В противном случае раунд длится еще один бросок. Если второй бросок раунда сбивает все оставшиеся булавки, это запасной .
Для каждого удара есть бонус, равный сумме булавок, сбитых в двух следующих бросках. Для каждого запасного есть бонус, равный количеству булавок, сбитых в следующем броске.
В 10-м и последнем раунде игрок может получить дополнительные броски: в случае удара игрок получает еще два броска, чтобы получить бонус за удар. В случае запаса игрок получает еще один бросок.
Примеры
Input: 4 3 8 2 7 1 10 7 3 0 10 2 2 10 10 5 4
Output: 131
Input: 10 10 9 1 7 3 2 7 10 1 9 10 7 1 10 10 10
Output: 183
правила
- Вы можете предположить, что ввод действителен.
- Согласно комментарию Мего, я ослабил требования к методам ввода / вывода, чтобы соответствовать нашему текущему стандарту .
- Разрешены ответы на языках, которые новее, чем задание
- Самый короткий код выигрывает!
space separated integers
?