A może nie jest to tak naprawdę labirynt, ale jednak.
Zasady:
Wejście jest ciągiem dwóch linii, składające się z
*
,1
,x
iX
. Ten sznurek jest labiryntem do przejścia. Linie mają równą długość .Możesz wziąć dane wejściowe jako ciąg znaków za pomocą
,
(przecinek) lub dowolny wygodny separator między tymi dwoma wierszami. Lub możesz wziąć obie linie jako osobne argumenty dla swojej funkcji.Wynik to liczba kroków, które należy wykonać, aby wyjść z ciągu (ostatni krok to etap, który wyprowadza cię z łańcucha).
Zaczynasz w lewym górnym rogu (wyższa linia), przed pierwszym symbolem.
Dla każdego kroku przesuwasz się do przodu o jeden symbol (od n-tego do (n + 1) pozycji ). Następnie, w zależności od postaci, na którą stąpasz, wynik jest inny. Oto, co robi każdy znak:
*
- nic. Po prostu stąpaj po nim normalnie.x
- po wejściu na niego zmień linię, ale pozostań w tej samej poziomej odległości od początku. Na przykład nadepnąłeś na trzecią pozycję wyższej linii i spotkałeś tu małe literyx
. Następnie natychmiast przechodzisz do dolnej linii, ale znowu na trzeciej pozycji.X
- przełącz linię i przejdź do następnej pozycji. Przykład jest tam taki sam, ale przesuwasz się również z trzeciej do czwartej pozycji (w ten sposób znajdujesz się w drugiej linii na czwartej pozycji).1
- po prostu przejdź do przodu o jeszcze jedną pozycję.
Gdy każda postać wykona swoją pracę, zostaje zastąpiona spacją i przestaje „działać”.
Przykłady podano poniżej.
Wejście :
x *
Jak powiedziano wcześniej, zaczynasz przed pierwszym symbolem pierwszego wiersza. Pierwszy krok przenosi cię na literę,
x
a ta litera powoduje przejście do drugiej linii. Literax
nie działa już jakox
, ale została zastąpiona przez*
. Będzie to bardziej odpowiednie w tych ostatnich przykładach. Jesteś teraz na gwiazdce w dolnej linii i nic ci to nie zrobiło.Drugi krok przesuwa cię do przodu i wychodzisz ze sznurka, więc labirynt jest ukończony i zajął 2 kroki.
Wyjście
2
.Wejście :
xX* x1*
Pierwszy krok : idziesz dalej
x
, co przenosi cię nax
dolną linię. Oto reguła, która mówi, że użyta postać jest zastąpiona gwiazdką. Następnie wracasz do pierwszej linii, ale już nie jestx
ma, ponieważ została użyta i stała się gwiazdką. Poruszasz się więc bezpiecznie tą gwiazdką i krok jest zakończony (jesteś teraz na pierwszej pozycji pierwszego wiersza).Drugi krok : idziesz dalej
X
, to popycha cię do dolnej linii, a następnie popycha do przodu. Znajdujesz się teraz na trzeciej pozycji drugiej linii (gwiazdka), nigdy nie odwiedziłeś drugiej pozycji (która zawiera1
).Trzeci krok : idziesz naprzód, wychodząc ze sznurka.
Wyjście :
3
.
Przypadki testowe:
Wejście:
*1* xxx
Wyjście:
3
. (bo1
skacze na trzecią pozycję). Tam nigdy nie odwiedzasz drugiej linii, ale wymaga to części danych wejściowych.Wejście:
*X*1*x x*1xx*
Wyjście:
4
.Wejście:
1x1x ***X
Wyjście:
3
.Wejście:
1*x1xxx1*x x*x1*11X1x
Wyjście:
6
.Wejście:
xXXXxxx111* **xxx11*xxx
Wyjście:
6
.
"\n\n"
jest ciągiem dwóch linii ...
1
, jak zaczynasz przed pierwszą linią, a następnie przesuwasz się o jeden krok do przodu, a następnie kończysz labirynt ...