Su tarea es resumir y obtener el puntaje de un jugador en un juego de bolos de 10 pines después de hasta 21 tiradas .
Los rollos se representan como una secuencia de enteros en su método de entrada preferido . Cada número entero corresponde al número de pines que fueron derribados en ese rollo.
Tanteo
Después de cada ronda, el número de pines derribados en esa ronda se cuenta en la puntuación final. Si un jugador derriba los diez pines en la primera tirada de una ronda, esto es un strike , y la ronda ha terminado. De lo contrario, la ronda dura un rollo más. Si el segundo lanzamiento de una ronda derriba todos los pasadores restantes, este es un repuesto .
Por cada golpe hay una bonificación igual a la suma de pines derribados en las dos tiradas siguientes. Para cada repuesto hay una bonificación igual al número de pines derribados en la próxima tirada.
La décima y última ronda, el jugador puede recibir tiradas adicionales: en caso de un golpe, el jugador obtiene dos tiradas más para compensar su bonificación de golpe. En caso de repuesto, el jugador obtiene una tirada más.
Ejemplos
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
Reglas
- Puede suponer que la entrada es válida.
- Según el comentario de Mego, he aflojado los requisitos para que los métodos de entrada / salida cumplan con nuestro estándar actual .
- Se permiten respuestas en idiomas más nuevos que el desafío.
- ¡El código más corto gana!
space separated integers
?