บทนำ:
ผมเห็นมีเพียงหนึ่งที่เกี่ยวข้องกับแบดมินตันท้าทายอื่น ๆ ในขณะนี้ ตั้งแต่ฉันเล่นแบดมินตันด้วยตัวเอง (ในช่วง 13 ปีที่ผ่านมา) ฉันคิดว่าฉันจะเพิ่มความท้าทายเกี่ยวกับแบดมินตัน ที่นี่คนแรก:
ท้าทาย:
อินพุต:
เอาต์พุตจำนวนเต็มสองค่า:หนึ่งในสามของเอาต์พุตที่แตกต่างและไม่ซ้ำใครที่คุณเลือก หนึ่งระบุว่าการป้อนข้อมูลเป็นคะแนนแบดมินตันที่ถูกต้องและชุดได้สิ้นสุดลงด้วยผู้ชนะ; หนึ่งระบุว่าการป้อนข้อมูลเป็นคะแนนแบดมินตันที่ถูกต้องและชุดยังคงอยู่ในการเล่น; หนึ่งระบุว่าการป้อนข้อมูลไม่ได้เป็นคะแนนแบดมินตันที่ถูกต้อง
ด้วยแบดมินตันผู้เล่นทั้งคู่ (คู่) เริ่มต้นด้วย 0 คะแนนและคุณจะหยุดเมื่อผู้เล่นหนึ่งในสอง (คู่) มีคะแนนถึง 21 โดยมีความแตกต่างอย่างน้อย 2 คะแนนสูงสุด 30-29
ดังนั้นสิ่งเหล่านี้คืออินพุตคู่ที่เป็นไปได้ (ตามลำดับใด ๆ ) ซึ่งระบุว่าเป็นคะแนนแบดมินตันที่ถูกต้องและชุดได้สิ้นสุดลงแล้ว:
[[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]]
และนี่คือคู่อินพุตที่เป็นไปได้ทั้งหมด (ตามลำดับใด ๆ ) ซึ่งระบุว่าเป็นคะแนนแบดมินตันที่ถูกต้อง แต่ชุดยังคงเล่นอยู่:
[[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]]
จำนวนเต็มคู่อื่น ๆ จะเป็นคะแนนแบดมินตันที่ไม่ถูกต้อง
กฏท้าทาย:
- I / O ยืดหยุ่นดังนั้น:
- คุณสามารถรับอินพุตเป็นรายการของตัวเลขสองตัว ตัวเลขสองตัวที่คั่นด้วย STDIN หรือพารามิเตอร์ฟังก์ชัน สองสาย; เป็นต้น
- ผลลัพธ์จะเป็นค่าที่แตกต่างและไม่ซ้ำกันสามค่าตามที่คุณเลือก สามารถเป็นจำนวนเต็ม (เช่น
[0,1,2]
,[1,2,3]
,[-1,0,1]
ฯลฯ ); สามารถเป็น Booleans (เช่น[true,false,undefined/null/empty]
); สามารถเป็นอักขระ / สตริง (เช่น["valid & ended","valid","invalid"]
); เป็นต้น - โปรดระบุ I / O ที่คุณใช้ในคำตอบ!
- คุณได้รับอนุญาตให้ป้อนข้อมูลจำนวนเต็มล่วงหน้าจากต่ำสุดไปสูงสุดหรือในทางกลับกัน
- จำนวนเต็มอินพุทอาจเป็นค่าลบซึ่งในกรณีนี้แน่นอนว่าไม่ถูกต้อง
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ
อย่าปล่อยให้ภาษาโค้ดกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานใช้สำหรับคำตอบของคุณด้วยกฎ I / O เริ่มต้นดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชั่น / วิธีการที่มีพารามิเตอร์ที่เหมาะสมและประเภทผลตอบแทนโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงก์พร้อมทดสอบรหัสของคุณ (เช่นTIO )
- นอกจากนี้ขอแนะนำให้เพิ่มคำอธิบายสำหรับคำตอบของคุณ
กรณีทดสอบ:
กรณีทดสอบเหล่านี้ใช้ได้และชุดสิ้นสุดแล้ว:
0 21
12 21
21 23
28 30
29 30
กรณีทดสอบเหล่านี้ใช้ได้ แต่ชุดยังอยู่ในระหว่างเล่น:
0 0
0 20
12 12
21 21
21 22
กรณีทดสอบเหล่านี้ไม่ถูกต้อง:
-21 19
-19 21
-1 1
12 22
29 31
30 30
42 43
1021 1021
b-61<~a<a>b/22*b-3
) คุณสามารถบันทึกได้ 3 ไบต์