เกม Nonary เป็นเกมสวมบทบาทที่เล่นในวิดีโอเกมตอนจบที่มีชื่อเดียวกัน เป้าหมายของคุณคือค้นหาว่ามีผู้เล่นกี่คน (ที่ดีที่สุด) สามารถหลบหนีเกมที่กำหนดได้โดยใช้โค้ดน้อยที่สุด
กฎของเกม
- มีผู้เล่น 9 คนหมายเลข 1 ถึง 9
- ผู้เล่นทุกคนเริ่มต้นในห้องเดียวกัน
- มีประตูจำนวนหนึ่งแต่ละอันมีหมายเลข 1 ถึง 9 อาจมีหมายเลขประตูซ้ำหรือหายไป
- ประตูมีการเชื่อมต่อทางเดียวระหว่างห้อง แต่ละประตูสามารถใช้ได้เพียงครั้งเดียว
- มีเพียงกลุ่มที่มีผู้เล่น 3 ถึง 5 คนเท่านั้นที่สามารถผ่านเข้าประตูได้
- กลุ่มสามารถผ่านประตูได้ถ้าผลรวมของตัวเลขโมดูโล 9ตรงกับหมายเลขโมดูโล 9ของประตู
- ผู้เล่นที่ผ่านประตู 9 ช่อง (ชนะ)
ตัวอย่าง
┌───┬───┬───┐
│ 6 4 9
│ < │ | |
│ 3 5 9
└───┴───┴───┘
<
แสดงถึงจุดเริ่มต้น ผู้เล่นทุกคนเริ่มต้นที่นั่น
ในการตั้งค่านี้ทุกคนสามารถหลบหนี มีหลายวิธีในการบรรลุเป้าหมายซึ่งหนึ่งในนั้นคือ:
- [1, 2, 3, 4, 5] ไปที่ประตู 6 ((1 + 2 + 3 + 4 + 5)% 9 = 6) ในขณะที่ [6, 7, 8, 9] ผ่านประตู 3 ((6 + 7 + 8 + 9)% 9 = 3) ทุกคนพบกันในห้องที่สอง
- [1, 2, 3, 7] ผ่านประตู 4 ในขณะที่ [4, 5, 6, 8, 9] ผ่านประตู 5
- [1, 2, 3, 4, 8] ผ่านหนึ่งใน 9 ประตู, [5, 6, 7, 9] ผ่านอีกประตูหนึ่ง
┌───┬───┐
│ │ |
│ < 8 9
│ │ |
└───┴───┘
เวลานี้อย่างน้อย 4 คนสามารถหลบหนี:
- [1, 3, 5, 8, 9] ผ่านประตู 8
- [1, 3, 5, 9] ผ่านประตู 9
รายชื่อผู้รอดชีวิตรายอื่นอาจเป็นไปได้เช่น [2, 3, 4] หรือ [1, 4, 6, 7] แต่ไม่มีทางที่จะหนีรอดได้มากกว่า 4 คน
ความท้าทาย
ได้รับแผนที่เอาท์พุทจำนวนสูงสุดของผู้เล่นที่สามารถหลบหนีได้
- ไม่ต้องกังวลคุณไม่จำเป็นต้องแยกวิเคราะห์ไดอะแกรมอันยิ่งใหญ่ของฉัน! อินพุตเป็นกราฟกำกับที่มีป้ายกำกับซึ่งคุณสามารถนำเสนอในรูปแบบที่สะดวกใด ๆ (ชุดขอบเมทริกซ์ adjacency ... )
- หากการเป็นตัวแทนของคุณต้องการป้ายกำกับสำหรับห้องคุณสามารถใช้ชุดของค่าที่สอดคล้องกัน อย่างไรก็ตามประตูจะต้องเป็นตัวแทนของจำนวนเต็ม 1 ถึง 9
- อินพุตจะมีอย่างน้อยหนึ่งประตู 9 ประตูเสมอ ประตูทั้ง 9 ประตูนำไปสู่ทางออกเสมอในขณะที่ประตูอื่นไม่เคยทำ
- การส่งของคุณอาจเป็นฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ
- ช่องโหว่มาตรฐานถูกแบน
กรณีทดสอบ
อินพุตถูกแสดงเป็นรายการของ [หมายเลขประตูจากห้องหนึ่งไปยังห้อง] สามเท่าโดย 0 เป็นห้องเริ่มต้นและ -1 เป็นทางออก หากคุณเลือกที่จะใช้รูปแบบอื่นคุณจะต้องแปลงให้เหมาะสม
Input Output
[[6, 0, 1], [3, 0, 1], [4, 1, 2], [5, 1, 2], [9, 2, -1], [9, 2, -1]] 9
[[8, 0, 1], [9, 1, -1]] 4
[[9, 0, -1]] 5
[[2, 0, 1], [1, 1, 2], [9, 2, -1]] 0
[[2, 0, 1], [3, 1, 2], [9, 2, -1]] 3
[[1, 0, 1], [9, 1, -1], [1, 0, 2], [9, 2, -1]] 4
[[2, 0, 1], [3, 0, 1], [5, 1, 2], [4, 0, 2], [9, 2, -1], [9, 2, -1]] 8
[[3, 0, 1], [4, 0, 1], [5, 0, 1], [9, 1, -1], [7, 1, 2], [9, 2, -1]] 7
[[1, 0, 1], [2, 0, 1], [4, 0, 1], [9, 1, -1], [8, 1, 2], [9, 2, -1]] 6
[[6, 0, 1], [7, 0, 1], [9, 1, -1], [9, 1, -1]] 7