Advance Wars, Wargroove ve Fire Emblem gibi sıra tabanlı taktik oyunları, her arazi türü için farklı maliyetler gerektiren farklı hareket sınıfları birimleriyle değişen bir arazi karesinden oluşur. Bu sorunun bir alt kümesini araştıracağız.
Meydan okuma
Göreviniz, arazi maliyetleri ve hareket hızı ızgarası göz önüne alındığında, bir konuma başka bir yerden erişilip erişilemeyeceğini belirlemektir.
Birimler yalnızca bir kareye hareket etmenin maliyeti ızgaradaki karşılık gelen hücrenin değeri olduğu yerde (hareket etmek ücretsizdir) dikey olarak hareket edebilir. Örneğin, 3 değerine sahip bir hücreden, 1 değerine sahip bir hücreye geçmek 1 hareket gerektirir, ancak diğer yöne gitmek için 3 gerekir. Bazı karelere erişilemeyebilir.
Misal
1 [1] 1 1 1
1 2 2 3 1
2 3 3 3 4
1 3 <1> 3 4
Hareketle [1]
üzere <1>
üç aşağı sonra sağa bir kare ve hareket ettirerek 7 hareket noktalarının en az gerektirir. Bu nedenle, hareket hızı olarak 6 veya daha az verilirse, yanlış bir cevap vermelisiniz.
Örnek Test Durumları
Bunlar ayrışmayı kolaylaştırmak için başlangıç ve bitiş için köşeli ayraçlı hücreler yerine sol üst köşeli sıfır dizinli (satır, sütun) koordinatları kullanır. Ulaşılamayan hücrelerX
Durum 1a
1 1 2 1 X
1 2 2 1 1
2 1 1 2 1
X X X 1 2
Speed: 5
From (2, 3) to (0, 1)
Output: True
Durum 1b
1 1 2 1 X
1 2 2 1 1
2 1 1 2 1
X X X 1 2
Speed: 4
From (2, 3) to (0, 1)
Output: False
Durum 1c
1 1 2 1 X
1 2 2 1 1
2 1 1 2 1
X X X 1 2
Speed: 5
From (0, 1) to (2, 3)
Output: False
Durum 2a
3 6 1 1 X 4 1 2 1 X
5 1 2 2 1 1 1 X 1 5
2 1 1 1 2 1 1 1 X 1
2 1 1 3 1 2 3 4 1 2
1 1 2 1 1 4 1 1 1 2
3 2 3 5 6 1 1 X 1 4
Speed: 7
From (3, 4) to (2, 1)
Output: True
Durum 2b
3 6 1 1 X 4 1 2 1 X
5 1 2 2 1 1 1 X 1 5
2 1 1 1 2 1 1 1 X 1
2 1 1 3 1 2 3 4 1 2
1 1 2 1 1 4 1 1 1 2
3 2 3 5 6 1 1 X 1 4
Speed: 4
From (3, 4) to (2, 1)
Output: False
Durum 2c
3 6 1 1 X 4 1 2 1 X
5 1 2 2 1 1 1 X 1 5
2 1 1 1 2 1 1 1 X 1
2 1 1 3 1 2 3 4 1 2
1 1 2 1 1 4 1 1 1 2
3 2 3 5 6 1 1 X 1 4
Speed: 7
From (1, 8) to (2, 7)
Output: True
Vaka 3a
2 1 1 2
2 3 3 1
Speed: 3
From (0, 0) to (1, 1)
Output: False
Vaka 3b
2 1 1 2
2 3 3 1
Speed: 3
From (1, 1) to (0, 0)
Output: True
Kurallar, Varsayımlar ve Notlar
- Standart boşluklar yasaklanmıştır, G / Ç herhangi bir uygun formatta olabilir
- Tüm koordinatların ızgarada olduğunu varsayabilirsiniz.
- Hareket hızı asla 100'ün üzerinde olmayacak
- Erişilemeyen hücreler, sizin için en uygun olan çok sayıda (örn. 420, 9001, 1 milyon) veya 0 veya null ile temsil edilebilir.
- Tüm girdiler pozitif tamsayılardan oluşur (erişilemeyen hücreleri temsil etmek için null veya 0 kullanılmazsa)