Introduzione:
Ho visto che c'era solo un'altra sfida legata al badminton in questo momento . Da quando gioco a badminton da solo (negli ultimi 13 anni), ho pensato di aggiungere alcune sfide legate al badminton. Ecco il primo:
Sfida:
Input: due numeri interi
Output: uno dei tre output distinti e unici di propria scelta. Uno che indica che l'ingresso è un punteggio di badminton valido E che il set è terminato con un vincitore; uno che indica che l'ingresso è un punteggio di badminton valido E che il set è ancora in gioco; uno che indica l'ingresso non è un punteggio di badminton valido.
Con il badminton, entrambi (coppie di) giocatori iniziano con 0 punti e ti fermi quando uno dei due (coppie di) giocatori ha raggiunto un punteggio di 21, con almeno 2 punti di differenza, fino ad un massimo di 30-29.
Quindi queste sono tutte possibili coppie di input (in entrambi gli ordini) che indicano che è un punteggio di badminton valido E che il set è finito:
[[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 queste sono tutte possibili coppie di input (in entrambi gli ordini) che indicano che è un punteggio di badminton valido MA il set è ancora in gioco:
[[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]]
Qualsiasi altra coppia di numeri interi sarebbe un punteggio di badminton non valido.
Regole della sfida:
- L'I / O è flessibile, quindi:
- Puoi prendere l'input come un elenco di due numeri; due numeri separati tramite STDIN o parametri di funzione; due corde; eccetera.
- L'output sarà tre valori distinti e unici di tua scelta. Può essere numeri interi (ad esempio
[0,1,2]
,[1,2,3]
,[-1,0,1]
, etc.); può essere booleano (cioè[true,false,undefined/null/empty]
); possono essere caratteri / stringhe (es.["valid & ended","valid","invalid"]
); eccetera. - Per favore specifica l'I / O che hai usato nella tua risposta!
- Puoi prendere gli interi di input preordinati dal più basso al più alto o viceversa.
- Gli interi di input possono essere negativi, nel qual caso ovviamente non sono validi.
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard con regole I / O predefinite , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti e tipo di ritorno, programmi completi. La tua chiamata.
- Sono vietate le scappatoie predefinite .
- Se possibile, aggiungi un link con un test per il tuo codice (ad es. TIO ).
- Inoltre, si consiglia vivamente di aggiungere una spiegazione per la risposta.
Casi test:
Questi casi di test sono validi e il set è terminato:
0 21
12 21
21 23
28 30
29 30
Questi casi di test sono validi, ma il set è ancora in gioco:
0 0
0 20
12 12
21 21
21 22
Questi casi di test non sono validi:
-21 19
-19 21
-1 1
12 22
29 31
30 30
42 43
1021 1021
b-61<~a<a>b/22*b-3
), è possibile salvare 3 byte.