Trò chơi Nonary là một trò chơi hư cấu được chơi trong bộ ba trò chơi video cùng tên. Mục tiêu của bạn là tìm ra có bao nhiêu người chơi (tốt nhất) có thể thoát khỏi một trò chơi nhất định, với càng ít byte mã càng tốt.
Nội quy của trò chơi
- Có 9 người chơi, được đánh số từ 1 đến 9.
- Tất cả người chơi bắt đầu trong cùng một phòng.
- Có bất kỳ số lượng cửa, mỗi cửa có số lượng từ 1 đến 9. Có thể có số cửa trùng lặp hoặc thiếu.
- Cửa là kết nối một chiều giữa các phòng. Mỗi cửa chỉ có thể được sử dụng một lần .
- Chỉ các nhóm từ 3 đến 5 người chơi có thể đi qua một cánh cửa.
- Một nhóm chỉ có thể đi qua một cánh cửa nếu tổng các số modulo 9 của họ khớp với số modulo 9 của cửa đó.
- Bất kỳ người chơi nào đi qua 9 cửa thoát (thắng).
Ví dụ
┌───┬───┬───┐
│ 6 4 9
│ < │ | |
│ 3 5 9
└───┴───┴───┘
<
đại diện cho điểm bắt đầu. Tất cả người chơi bắt đầu từ đó.
Trong cài đặt này, mọi người đều có thể trốn thoát. Có nhiều cách khác nhau để đạt được điều này, một trong số đó là:
- [1, 2, 3, 4, 5] đi qua cửa 6 ((1 + 2 + 3 + 4 + 5)% 9 = 6), trong khi [6, 7, 8, 9] đi qua cửa 3 ((6 + 7 + 8 + 9)% 9 = 3). Mọi người gặp nhau trong phòng thứ hai.
- [1, 2, 3, 7] đi qua cửa 4, trong khi [4, 5, 6, 8, 9] đi qua cửa 5.
- [1, 2, 3, 4, 8] đi qua một trong 9 cửa, [5, 6, 7, 9] đi qua cửa kia.
┌───┬───┐
│ │ |
│ < 8 9
│ │ |
└───┴───┘
Lần này, nhiều nhất 4 người có thể trốn thoát:
- [1, 3, 5, 8, 9] đi qua cửa 8.
- [1, 3, 5, 9] đi qua cửa 9.
Danh sách những người sống sót khác là có thể, chẳng hạn như [2, 3, 4] hoặc [1, 4, 6, 7], nhưng không có cách nào để hơn 4 người trốn thoát.
Các thách thức
Đưa ra một bản đồ, xuất số lượng người chơi tối đa có thể thoát.
- Đừng lo lắng, bạn không cần phải phân tích sơ đồ khủng khiếp của tôi! Đầu vào là một biểu đồ được định hướng có nhãn, mà bạn có thể biểu thị ở bất kỳ định dạng thuận tiện nào (bộ cạnh, ma trận kề ...).
- Nếu đại diện của bạn yêu cầu nhãn cho phòng, bạn có thể sử dụng bất kỳ bộ giá trị nhất quán nào. Tuy nhiên, cửa phải được đại diện bởi các số nguyên 1 đến 9.
- Đầu vào sẽ luôn có ít nhất một 9 cửa. Tất cả 9 cửa luôn dẫn đến lối ra, trong khi các cửa khác không bao giờ làm được.
- Trình của bạn có thể là một chức năng hoặc chương trình đầy đủ.
- Sơ hở tiêu chuẩn bị cấm.
Các trường hợp thử nghiệm
Các đầu vào được hiển thị dưới dạng danh sách [số cửa, từ phòng, đến phòng] bộ ba, với 0 là phòng bắt đầu và -1 là lối ra. Nếu bạn chọn sử dụng định dạng khác, bạn sẽ phải chuyển đổi chúng một cách thích hợp.
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