Introdução:
Vi que havia apenas mais um desafio relacionado ao badminton no momento . Já que eu jogo badminton (nos últimos 13 anos), imaginei que adicionaria alguns desafios relacionados ao badminton. Aqui o primeiro:
Desafio:
Entrada: Dois números inteiros
Saída: Uma das três saídas distintas e exclusivas de sua própria escolha. Um indicando que a entrada é uma pontuação válida de badminton E o set terminou com um vencedor; um indicando que a entrada é uma pontuação válida de badminton E o conjunto ainda está em jogo; um indicando que a entrada não é uma pontuação válida de badminton.
No badminton, os dois (pares de) jogadores começam com 0 pontos, e você para quando um dos dois (pares de) jogadores atinge 21 pontos, com pelo menos 2 pontos de diferença, até um máximo de 30-29.
Portanto, todos esses pares de entradas possíveis (em qualquer ordem) indicam que é uma pontuação válida de badminton E o conjunto terminou:
[[0,21],[1,21],[2,21],[3,21],[4,21],[5,21],[6,21],[7,21],[8,21],[9,21],[10,21],[11,21],[12,21],[13,21],[14,21],[15,21],[16,21],[17,21],[18,21],[19,21],[20,22],[21,23],[22,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,30]]
E todos esses pares de entradas possíveis (em qualquer ordem) indicam que é uma pontuação válida de badminton, MAS o conjunto ainda está em jogo:
[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[0,11],[0,12],[0,13],[0,14],[0,15],[0,16],[0,17],[0,18],[0,19],[0,20],[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[1,11],[1,12],[1,13],[1,14],[1,15],[1,16],[1,17],[1,18],[1,19],[1,20],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[2,11],[2,12],[2,13],[2,14],[2,15],[2,16],[2,17],[2,18],[2,19],[2,20],[3,3],[3,4],[3,5],[3,6],[3,7],[3,8],[3,9],[3,10],[3,11],[3,12],[3,13],[3,14],[3,15],[3,16],[3,17],[3,18],[3,19],[3,20],[4,4],[4,5],[4,6],[4,7],[4,8],[4,9],[4,10],[4,11],[4,12],[4,13],[4,14],[4,15],[4,16],[4,17],[4,18],[4,19],[4,20],[5,5],[5,6],[5,7],[5,8],[5,9],[5,10],[5,11],[5,12],[5,13],[5,14],[5,15],[5,16],[5,17],[5,18],[5,19],[5,20],[6,6],[6,7],[6,8],[6,9],[6,10],[6,11],[6,12],[6,13],[6,14],[6,15],[6,16],[6,17],[6,18],[6,19],[6,20],[7,7],[7,8],[7,9],[7,10],[7,11],[7,12],[7,13],[7,14],[7,15],[7,16],[7,17],[7,18],[7,19],[7,20],[8,8],[8,9],[8,10],[8,11],[8,12],[8,13],[8,14],[8,15],[8,16],[8,17],[8,18],[8,19],[8,20],[9,9],[9,10],[9,11],[9,12],[9,13],[9,14],[9,15],[9,16],[9,17],[9,18],[9,19],[9,20],[10,10],[10,11],[10,12],[10,13],[10,14],[10,15],[10,16],[10,17],[10,18],[10,19],[10,20],[11,11],[11,12],[11,13],[11,14],[11,15],[11,16],[11,17],[11,18],[11,19],[11,20],[12,12],[12,13],[12,14],[12,15],[12,16],[12,17],[12,18],[12,19],[12,20],[13,13],[13,14],[13,15],[13,16],[13,17],[13,18],[13,19],[13,20],[14,14],[14,15],[14,16],[14,17],[14,18],[14,19],[14,20],[15,15],[15,16],[15,17],[15,18],[15,19],[15,20],[16,16],[16,17],[16,18],[16,19],[16,20],[17,17],[17,18],[17,19],[17,20],[18,18],[18,19],[18,20],[19,19],[19,20],[20,20],[20,21],[21,21],[21,22],[22,22],[22,23],[23,23],[23,24],[24,24],[24,25],[25,25],[25,26],[26,26],[26,27],[27,27],[27,28],[28,28],[28,29],[29,29]]
Qualquer outro par de números inteiros seria uma pontuação de badminton inválida.
Regras do desafio:
- A E / S é flexível, portanto:
- Você pode considerar a entrada como uma lista de dois números; dois números separados por meio de STDIN ou parâmetros de função; duas cordas; etc.
- A saída será três valores distintos e únicos de sua própria escolha. Pode ser inteiros (ou seja
[0,1,2]
,[1,2,3]
,[-1,0,1]
, etc.); pode ser booleano (ie[true,false,undefined/null/empty]
); pode ser caracteres / strings (ie["valid & ended","valid","invalid"]
); etc. - Especifique a E / S que você usou em sua resposta!
- Você pode levar os números inteiros de entrada pré-ordenados do menor para o maior ou vice-versa.
- Os números inteiros de entrada podem ser negativos; nesse caso, eles são obviamente inválidos.
Regras gerais:
- Isso é código-golfe , então a resposta mais curta em bytes vence.
Não permita que idiomas com código de golfe o desencorajem a postar respostas com idiomas que não sejam codegolf. Tente encontrar uma resposta o mais curta possível para 'qualquer' linguagem de programação. - As regras padrão se aplicam à sua resposta com as regras de E / S padrão , para que você possa usar STDIN / STDOUT, funções / método com os parâmetros adequados e programas completos do tipo retorno. Sua chamada.
- As brechas padrão são proibidas.
- Se possível, adicione um link com um teste para o seu código (ou seja, TIO ).
- Além disso, é altamente recomendável adicionar uma explicação para sua resposta.
Casos de teste:
Esses casos de teste são válidos e o conjunto foi encerrado:
0 21
12 21
21 23
28 30
29 30
Esses casos de teste são válidos, mas o conjunto ainda está em jogo:
0 0
0 20
12 12
21 21
21 22
Esses casos de teste são inválidos:
-21 19
-19 21
-1 1
12 22
29 31
30 30
42 43
1021 1021
b-61<~a<a>b/22*b-3
), você pode salvar 3 bytes.