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,xiX. 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ę,
xa ta litera powoduje przejście do drugiej linii. Literaxnie 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ę naxdolną 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 jestxma, 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* xxxWyjście:
3. (bo1skacze 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 ***XWyjście:
3.Wejście:
1*x1xxx1*x x*x1*11X1xWyjście:
6.Wejście:
xXXXxxx111* **xxx11*xxxWyjś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 ...