Sua tarefa é resumir e obter a pontuação de um jogador em um jogo de boliche de 10 pinos após até 21 jogadas .
Os rolos são representados como uma sequência de números inteiros no seu método preferido de entrada . Cada número inteiro corresponde ao número de pinos que foram derrubados nesse rolo.
Pontuação
Após cada rodada, o número de pinos derrubados nessa rodada é contabilizado na pontuação final. Se um jogador derruba todos os dez pinos no primeiro lançamento de uma rodada, isso é um golpe e a rodada termina. Caso contrário, a rodada dura mais um rolo. Se o segundo rolo de uma rodada derrubar todos os pinos restantes, isso é uma reposição .
Para cada ataque, há um bônus igual à soma dos pinos derrubados nas duas próximas jogadas. Para cada reposição, há um bônus igual ao número de pinos derrubados no próximo rolo.
Na 10ª e última rodada, o jogador pode receber jogadas extras: no caso de um ataque, o jogador recebe mais duas jogadas para compensar seu bônus de ataque. Em caso de reposição, o jogador recebe mais uma jogada.
Exemplos
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
Regras
- Você pode assumir que a entrada é válida.
- De acordo com o comentário de Mego, afrouxei os requisitos para os métodos de entrada / saída para atender nosso padrão atual .
- Respostas em idiomas mais recentes que o desafio são permitidas
- O menor código vence!
space separated integers
?