Buz labirentleri, Pokémon Gold ve Silver'taki çıkışlarından bu yana Pokémon oyunlarının en sevdiğim zımbalarından biri oldu . Göreviniz bu tür sorunları çözen bir program yapmak olacaktır.
Buz labirentleri, adından da anlaşılacağı gibi buzdan oluşur. Oyuncu buz üzerinde bir yönde hareket ettiğinde, bir engelle çarpışana kadar bu yönde hareket etmeye devam edecektir. Serbestçe hareket ettirilebilen ve üzerinde herhangi bir oyuncunun hareket etmesini durduracak toprak da vardır. Son engel taştır. Taş, oyuncu ile aynı alanı kaplayamaz ve oyuncu onun içine taşınmaya çalışırsa, hareket etmeden önce durur.
3 döşeme tipinin (Buz, Toprak ve Taş) her biri için 3 ayrı değer içeren, liste listesi veya satırsonu ile ayrılmış bir dize gibi iki boyutlu bir değer kabı alırsınız. Ayrıca, labirentte bir başlangıç ve hedef koordinatını belirten iki çift (veya başka bir eşdeğer iki değer kabı) alırsınız. Bunlar sıfır veya biri endekslenmiş olabilir.
Yürütüldüğünde oyuncunun sonuna gelmesine neden olacak bir hareket listesi (N, E, S, W üzerine bir bijection ile 4 farklı değer) vermelisiniz.
Girdinin labirent çevresinde her zaman kapalı bir taş çevresi olacaktır, bu yüzden labirentten çıkan oyuncu hakkında endişelenmenize gerek yoktur
Bu kod golf, bu yüzden en az bayt kazanır
Test Durumları
Burada .
buzu temsil ~
edecek, toprağı O
temsil edecek ve bir taşı temsil edecek. Koordinatlar 1 endekslenir. Çözümdeki her harf, o harfle başlayan yönü temsil eder (örneğin N
= Kuzey)
Giriş
OOOOO
OO.OO
O...O
OOOOO
Start : 3,3
End : 3,2
Çıktı
N
Giriş
OOOOOOOOOOOOOOOOO
O........O.....OO
O...O..........OO
O.........O....OO
O.O............OO
OO.......O.....OO
O.............OOO
O......O.......~O
O..O...........~O
O.............OOO
O.......O......OO
O.....O...O....OO
O..............OO
OOOOOOOOOOOOOO~~O
OOOOOOOOOOOOOOOOO
Start : 15,12
End : 16,8
Çıktı
N,W,N,E,N,E,S,W,N,W,S,E,S,E,N,E,N
Giriş
OOOOOOOOOOOOOOOO
O~~~~~OOOOO~~~~O
O~~O~OOOOOOO~~OO
O...O..........O
O........O.....O
O..............O
OO.............O
O.............OO
O....~....O....O
O..............O
O..............O
OOOOOOOOOOOOOOOO
Start : 2,2
End : 14,3
Çıktı
E,S,S,W,N,E,N
Giriş
OOOOOOOOOOOOOOOOOOO
O~~~~~~~OOOOOOOOOOO
O~~~~...OOOOOOOOOOO
OO~O~..OOOOOOOOOOOO
O..OO.............O
O..............O..O
O....O............O
O.O............~..O
O........OOOO.....O
O.......OOOOO.....O
O.......O~~~O.....O
O.......~~~~~.....O
O.......~~~~~.....O
O..........O......O
O..O..~...........O
O...............O.O
O.....O...........O
O.................O
OOOOOOOOOOOOOOOOOOO
Start : 2,2
End : 11,11
Çıktı
E,E,E,E,E,S,S,E,N,W,S,E,N,N,N