Eu acho que todo mundo está familiarizado com dardos, algumas pessoas não entendem a pontuação, portanto, para essas pessoas aqui, há um link útil sobre isso.
O quadro
Um alvo de dardos pode ser comparado a um pedaço de torta em 20 pedaços. Cada peça é dividida em 4 seções.
- um pequeno anel externo chamado duplo (pontos x2)
- um grande anel chamado single (pontos x1)
- outro pequeno anel chamado triplo (pontos x3)
- outro grande anel chamado single (pontos x1)
No meio do tabuleiro existem mais 2 anéis, um verde e um vermelho (tabuleiro clássico)
- Anel vermelho, centro do tabuleiro chamado bullseye ou double bull e vale 50 pontos. Este conta como um dobro e por isso é permitido fazer checkout com ele.
- Anel verde, chamado touro, touro único ou simplesmente 25 e conta como um único.
Desafio
Encontre todas as possibilidades de pagamento com 3 dardos ou menos.
O usuário pode inserir um número inteiro e você terá que verificar se é possível obter a pontuação para 0 com 3 dardos (ou menos).
Exemplos
Exemplo 1:
Input: 170
Output: T20, T20, Bullseye
Exemplo 2:
Input: 6
Output: D3;
S3,S1,D1;
S2,D2;
S2,S2,D1;
D2,D1;
S4,D1;
D1,D1,D1;
S1,S1,D2;
T1,S1,D1;
Exemplo 3:
Input: 169
Output: No possible checkout!
Regras
- Regra básica de dardo, você deve terminar com um duplo (anel externo do tabuleiro ou alvo)
- Não há uso de recursos externos.
- É permitida a codificação rígida de possíveis check-out, mas lembre-se de que este é um codegolf; ele não abrevia seu código;)
- As células a serem atingidas serão exibidas no formato C + N, onde C = T para Triple, D para double e S para single.
- bullseye pode ser chamado bullseye ou DB, DBull ou algo semelhante.
Possíveis checkouts
Para começar, o checkout mais alto possível é 170.
169.168.166.165.163.162.159 não são possíveis em 3 dardos.
A compra mais baixa possível é 2.
além do que, além do mais
Isso não é um requisito, adicione a possibilidade de mostrar todos os check-outs possíveis para todas as pontuações. Basicamente, porque me pergunto quantas combinações são possíveis: P
O vencedor será aquele com o código mais curto.
Feliz codificação.