Nonary Game, aynı adlı video oyunu üçlemesinde oynanan kurgusal bir oyundur. Amacınız belirli bir oyunda kaç oyuncunun (en iyi) kaç bayt kodla kaçabileceğini bulmaktır.
Oyunun kuralları
- 1'den 9'a kadar 9 oyuncu var.
- Tüm oyuncular aynı odada başlar.
- Her biri 1 ila 9 numaraya sahip herhangi bir sayıda kapı vardır. Yinelenen veya eksik kapı numaraları olabilir.
- Kapı, odalar arasında tek yönlü bağlantıdır. Her kapı sadece bir kez kullanılabilir .
- Sadece 3 ila 5 oyuncudan oluşan gruplar bir kapıdan geçebilir.
- Bir grup, ancak modulo 9 sayılarının toplamı kapının sayı modulo 9'uyla eşleşiyorsa kapıdan geçebilir .
- 9 kapıdan geçen oyuncular kaçar (kazanır).
Örnekler
┌───┬───┬───┐
│ 6 4 9
│ < │ | |
│ 3 5 9
└───┴───┴───┘
<başlangıç noktasını temsil eder. Tüm oyuncular oradan başlar.
Bu ortamda herkes kaçabilir. Bunu başarmanın çeşitli yolları vardır, bunlardan biri:
- [1, 2, 3, 4, 5] 6 numaralı kapıdan geçiyor ((1 + 2 + 3 + 4 + 5)% 9 = 6), [6, 7, 8, 9] 3 numaralı kapıdan geçiyor ((6 + 7 + 8 + 9)% 9 = 3). Herkes ikinci odada toplanır.
- [1, 2, 3, 7] kapı 4'ten geçerken, [4, 5, 6, 8, 9] kapı 5'ten geçer.
- [1, 2, 3, 4, 8] 9 kapıdan birinden geçer, [5, 6, 7, 9] diğerinden geçer.
┌───┬───┐
│ │ |
│ < 8 9
│ │ |
└───┴───┘
Bu sefer en fazla 4 kişi kaçabilir:
- [1, 3, 5, 8, 9] 8 numaralı kapıdan geçer.
- [1, 3, 5, 9] 9 numaralı kapıdan geçer.
Hayatta kalanların diğer listeleri, örneğin [2, 3, 4] veya [1, 4, 6, 7] mümkündür, ancak 4'ten fazla kişinin kaçması mümkün değildir.
Meydan okuma
Bir harita verildiğinde, kaçabilecek maksimum oyuncu sayısını çıkar.
- Endişelenme, korkunç diyagramlarımı ayrıştırmana gerek yok! Giriş, herhangi bir uygun biçimde (kenar kümesi, bitişiklik matrisi ...) temsil edebileceğiniz etiketli bir yönlendirilmiş grafiktir.
- Temsiliniz odalar için etiketler gerektiriyorsa, tutarlı bir değer kümesi kullanabilirsiniz. Ancak kapılar 1 ile 9 arasında bir tamsayı ile temsil edilmelidir.
- Giriş her zaman en az bir 9 kapılı olacaktır. 9 kapının tümü daima çıkışa yol açarken, diğer kapılar asla açılmaz.
- Gönderiniz bir işlev veya tam program olabilir.
- Standart boşluklar yasaklanmıştır.
Test senaryoları
Girişler, [başlangıç numarası, odadan odaya] üçüzlerinin listeleri olarak gösterilir; 0, başlangıç odası ve -1 çıkıştır. Başka bir biçim kullanmayı seçerseniz, bunları uygun şekilde dönüştürmeniz gerekir.
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