Wyzwanie
Dałeś mapę znajomemu, który wygląda trochę tak:
|
/
|
/
|
\
|
\
D
Prosta mapa, która zaczyna się na górze, a kończy na dole. Niestety twój przyjaciel tego nie rozumie. Czy potrafisz odkodować mapę, aby mógł ją odczytać?
Wejście
Wejście jest ciągiem znaków składających się z |, /, \, D, ^, Y, (spacja) oraz nowej linii.
|każe pozostać w tej samej kolumnie.\każe przejść do kolumny po prawej i na dół 1./każe przejść do kolumny po lewej i na dół 1.Doznacza miejsce docelowe.^(jeśli jest obecny) mówi o podziale na ścieżce.Y(jeśli jest obecny) mówi o ponownym połączeniu ścieżek. Traktuj to jak|.
Dane wejściowe zostaną ustawione tak, aby tworzyły rodzaj ścieżki:
|
|
\
|
^
/ \
/ |
D |
Zawsze będzie spacja między dwiema ścieżkami, a wszystkie ścieżki albo dołączą ponownie, albo dojdą do ostatniego wiersza wejścia. Będzie tylko jeden podział na mapę. Długość mapy wejściowej nie jest ograniczona. Nigdy nie będzie więcej niż dwie ścieżki.
Wynik
Dane wyjściowe powinny być ciągiem wskazówek.
- „ L ” powinien powiedzieć znajomemu, aby przesunął L eft i zrobił 1 krok do przodu.
- „ R ” należy poinformować swojego znajomego, aby przenieść R rawo i wziąć 1 krok do przodu.
- „ F ” powinien powiedzieć znajomemu, aby zrobił krok do przodu.
W przypadku przykładowej mapy wyników dane wyjściowe byłyby następujące:
F F L F R R R
Pamiętaj, że twój przyjaciel zaczyna na górze mapy i jest skierowany w dół mapy. Podaj wskazówki z jego perspektywy. W przypadku wystąpienia „^” program musi być w stanie wybrać ścieżkę prowadzącą do miejsca docelowego (D). Jeśli dwie ścieżki ponownie się połączą, twój program musi wybrać najprostszą ścieżkę (tę, która ma najwięcej |s) do przejścia . Wskazówki muszą być oddzielone przestrzenie i musi kończyć się na D .
Przykłady
Wejście
|
|
\
\
^
/ |
| |
\ |
\ \
\ \
\ /
Y
D
Wynik
F F L L L F F F L L R F
Ponieważ skrajna lewa ścieżka zawiera tylko 1 |, używamy skrajnej prawej ścieżki, która ma 3.
Wejście
\
|
/
|
\
|
/
D
Wynik
L F R F L F R
Wejście
/
\
/
\
^
\ \
D \
Wynik
R L R L R L
Inne szczegóły
- To jest golf golfowy, więc wygrywa osoba z najkrótszym kodem do następnej środy, 19 sierpnia.
- Konstruktywne opinie są mile widziane i bardzo mile widziane.
- Częściowo zainspirowany Mapą do ukrytego skarbu
- Zmień tytuł na bardziej kreatywny.
- Jeśli znajdziesz błędy, które popełniłem, popraw je.
- I oczywiście, baw się dobrze.
Dziękuję Ci!
Może trochę późno, ale UndefinedFunction jest zwycięzcą kodującym w JavaScript! Dziękuje wszystkim którzy dołączyli. Żadne inne wpisy nie będą akceptowane.
Ldla ^dwojga i dwa Ldla dwojga /? I dlaczego dodałeś jeszcze dwa Fna końcu Yprzykładu?
L L, co moim zdaniem powinno byćL L L. Przykład zYnadal ma1na końcu i wydaje się, że zawiera także inne błędy. Czytam mapę tak,F F R R R F F F R R L Fjakby poprawnie rozumiałem zasady.