Lodowe labirynty to jedna z moich ulubionych gier Pokémon od czasu ich debiutu w Pokémon Gold i Silver. Twoim zadaniem będzie stworzenie programu, który rozwiąże tego rodzaju problemy.
Lodowe labirynty składają się przede wszystkim, jak sama nazwa wskazuje, z lodu. Gdy gracz porusza się w kierunku na lodzie, będzie kontynuować ruch w tym kierunku, dopóki nie zderzy się z jakąś przeszkodą. Istnieje również gleba, którą można swobodnie przesuwać, co powstrzyma każdego gracza. Ostatnią przeszkodą jest kamień. Kamień nie może zajmować tego samego pola co gracz, a jeśli gracz spróbuje się do niego przenieść, przestanie się nim poruszać, zanim będzie mógł.
Otrzymasz dwuwymiarowy pojemnik wartości, taki jak lista list lub ciąg znaków oddzielone znakami nowej linii, zawierający 3 różne wartości dla każdego z 3 rodzajów podłóg (Lód, Gleba i Kamień). Otrzymasz również dwie pary (lub inne równoważne dwa kontenery wartości), które wskazują współrzędną początkową i bramkową w labiryncie. Mogą to być zero lub jeden indeks.
Musisz wypisać listę ruchów (4 odrębne wartości z wstrzyknięciem na N, E, S, W), które spowodują, że gracz dotrze do końca, gdy zostanie wykonany.
Wejście zawsze będzie miało zamknięty obwód kamienia wokół labiryntu, więc nie musisz się martwić, że gracz wyjdzie z labiryntu
To jest golf golfowy, więc wygrywa najmniej bajtów
Przypadki testowe
Tutaj .
będzie reprezentować lód, ~
będzie reprezentować glebę i O
będzie reprezentować kamień. Współrzędne są indeksowane 1. Każda litera w rozwiązaniu reprezentuje kierunek rozpoczynający się od tej litery (np. N
= Północ)
Wejście
OOOOO
OO.OO
O...O
OOOOO
Start : 3,3
End : 3,2
Wynik
N
Wejście
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
Wynik
N,W,N,E,N,E,S,W,N,W,S,E,S,E,N,E,N
Wejście
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
Wynik
E,S,S,W,N,E,N
Wejście
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
Wynik
E,E,E,E,E,S,S,E,N,W,S,E,N,N,N