Alphys, Królewski Naukowiec Podziemia, ukończył prototyp nowej układanki. Wydaje się jednak, że nie może znaleźć nikogo, kto chciałby to przetestować.
Zasady jej układanki są następujące:
Celem jest przejście na prawą stronę, zaczynając od środkowej płytki po lewej stronie. W przypadku puzzli o parzystych wysokościach zacznij od dolnej z dwóch środkowych płytek. (Przykłady: w tablicy 4x4 o indeksie zerowym pozycja początkowa wynosiłaby [2,0] - wiersz 2, kolumna 0. W tablicy 5x5 o indeksie zerowym pozycja początkowa to [2,0] - wiersz 2, kolumna 0.)
Każda kolorowa płytka ma własną funkcję „sadystyczną”:
- Różowe i zielone kafelki (reprezentowane jako „P” i „G”) nic nie robią
- Czerwone i żółte płytki („R”, „Y”) są nieprzejezdne.
- Pomarańczowe płytki („O”) sprawiają, że gracz pachnie pomarańczami
- Fioletowe kafelki („U”) zmuszają gracza do następnego kafelka w kierunku, w którym są skierowane i sprawiają, że pachną cytrynami
- Niebieskie płytki („B”) są przejezdne, o ile gracz nie pachnie pomarańczami.
Aby wyjaśnić mechanikę smaku, zapach gracza utrzyma się przez czas nieokreślony lub dopóki nie zostanie zastąpiony przez inny pachnący kafelek, tj. Jeśli gracz nadepnie na pomarańczową płytkę, będzie pachniał pomarańczą, dopóki nie wejdzie na fioletową płytkę.
Dodatkowo żółta płytka umieszczona pionowo lub poziomo w sąsiedztwie niebieskiej płytki spowoduje, że niebieska płytka również stanie się nieprzejezdna.
Twoim zadaniem jest napisanie programu lub funkcji, która akceptuje dwuwymiarową tablicę znaków (lub tablicę łańcuchów 1D lub inny prawidłowy format) reprezentującą układ kostki jako dane wejściowe i wyjściowe zarówno oryginalnej, jak i rozwiązanej układanki, z gwiazdkami lub niektórymi inny znak wskazujący prawidłową ścieżkę. Załóż, że daną łamigłówkę można rozwiązać.
Użyj tej układanki jako przykładu:
BGYBG
PGPBG
PUBPB
OUGYB
PPOPP
Twój program wyświetli:
BGYBG
PGPBG
PUBPB
OUGYB
PPOPP
BGYBG
PGPBG
*****
OUGYB
PPOPP
Każda użyta łamigłówka musi zostać wygenerowana przy użyciu tego .
Obowiązują standardowe zasady gry w golfa. Najlepsze odpowiedzi będą najkrótsze dla każdego języka. Odpowiedzi muszą zawierać język, liczbę bajtów i trzy przypadki testowe. Pierwsze dwa mogą być dowolnymi wybranymi układami, ale trzeci musi być:
RRRR
RPPR
PUOR
RPBP
źródło
Odpowiedzi:
C 529 bajtów
Podchodzimy do łamigłówki, przechodząc najpierw w prawo, pod warunkiem, że nie jesteśmy zablokowani, następnie próbujemy w górę, potem w dół i wreszcie z powrotem w lewo. Wyszukiwanie jest rekurencyjne i po znalezieniu udanej ścieżki zaznaczamy spacje w naszej macierzy i wracamy.
Wypróbuj online
Nie golfił
Przykładowy wynik 1
Przykładowy wynik 2
Przykładowy wynik 3
źródło