Pengantar:
Saya melihat hanya ada satu tantangan terkait bulu tangkis lainnya saat ini . Karena saya bermain bulutangkis sendiri (selama 13 tahun terakhir sekarang), saya pikir saya akan menambahkan beberapa tantangan terkait bulutangkis. Ini yang pertama:
Tantangan:
Input: Dua bilangan bulat
Output: Salah satu dari tiga output yang berbeda dan unik dari pilihan Anda sendiri. Satu menunjukkan bahwa input adalah skor bulu tangkis yang valid DAN set telah berakhir dengan pemenang; satu menunjukkan bahwa input adalah skor badminton yang valid DAN set masih dimainkan; satu menunjukkan input bukan skor bulu tangkis yang valid.
Dengan bulutangkis, kedua (pasangan) pemain mulai dengan 0 poin, dan Anda berhenti ketika salah satu dari dua (pasangan) pemain telah mencapai skor 21, dengan perbedaan minimal 2 poin, hingga maksimum 30-29.
Jadi ini semua pasangan-pasangan input yang memungkinkan (dalam urutan mana pun) yang mengindikasikan skor badminton yang valid DAN set telah berakhir:
[[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]]
Dan ini semua adalah pasangan input yang memungkinkan (dalam urutan apa pun) yang menunjukkan itu adalah skor badminton yang valid TETAPI set masih dimainkan:
[[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]]
Sepasang bilangan bulat lainnya akan menjadi skor bulutangkis yang tidak valid.
Aturan tantangan:
- I / O fleksibel, jadi:
- Anda dapat mengambil input sebagai daftar dua angka; dua angka yang terpisah melalui STDIN atau parameter fungsi; dua string; dll.
- Output akan menjadi tiga nilai berbeda dan unik dari pilihan Anda sendiri. Dapat bilangan bulat (yaitu
[0,1,2]
,[1,2,3]
,[-1,0,1]
, dll); bisa menjadi Booleans (yaitu[true,false,undefined/null/empty]
); dapat berupa karakter / string (yaitu["valid & ended","valid","invalid"]
); dll. - Silakan tentukan I / O yang Anda gunakan dalam jawaban Anda!
- Anda diizinkan mengambil bilangan bulat input yang dipesan lebih dulu dari terendah ke tertinggi atau sebaliknya.
- Bilangan bulat input bisa negatif, dalam hal ini tentu saja tidak valid.
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda dengan aturan I / O standar , sehingga Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program penuh. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda (yaitu TIO ).
- Juga, menambahkan penjelasan untuk jawaban Anda sangat dianjurkan.
Kasus uji:
Kasus uji ini valid, dan set telah berakhir:
0 21
12 21
21 23
28 30
29 30
Kasing uji ini valid, tetapi set masih dalam permainan:
0 0
0 20
12 12
21 21
21 22
Kasus uji ini tidak valid:
-21 19
-19 21
-1 1
12 22
29 31
30 30
42 43
1021 1021
b-61<~a<a>b/22*b-3
), Anda dapat menyimpan 3 byte.