Ya da belki de gerçekten bir labirent değil, yine de.
Kurallar:
Girdi , iki satırlık dize oluşan
*
,1
,x
veX
. Bu ip, içinden geçilmesi gereken bir labirent. Çizgiler eşit uzunlukta .Girdiyi
,
(virgül) veya bu iki satır arasında herhangi bir uygun ayırıcıyla dize olarak alabilirsiniz . Veya her iki satırı da işlevinize ayrı bağımsız değişkenler olarak alabilirsiniz.Çıktı , dizeden çıkmak için atmanız gereken adım sayısıdır (son adım, sizi dizeden çıkartan adımdır).
Sol üst köşeden (daha yüksek satır) ilk sembolden önce başlarsınız .
Her adım için bir sembol ileri gider (n. - (n + 1 ). Konum ). Ardından, bastığınız karaktere bağlı olarak sonuç farklıdır. Her karakter şöyle yapar:
*
- hiçbir şey değil. Normalde üzerine basarsınız.x
- üzerine bastığınızda, hattı değiştirin, ancak başlangıçtan itibaren aynı yatay mesafede kalın. Örneğin, yüksek çizginin üçüncü konumuna bastınız ve burada bir küçük harfle tanıştınızx
. Sonra hemen alt satıra geçersiniz, ancak yine üçüncü konumda.X
- hattı değiştirin ve bir sonraki konuma geçin. Örnek orada aynıdır, ancak aynı zamanda üçüncü konumdan dördüncü konuma hareket edersiniz (böylece dördüncü pozisyondaki ikinci çizgidesiniz).1
- sadece başka bir pozisyonda ilerleyin.
Her karakter işini yaptıktan sonra, bir boşlukla değiştirilir ve artık "işe yaramaz".
Örnekler aşağıdadır.
Giriş :
x *
Daha önce de belirtildiği gibi, ilk satırın ilk sembolünden önce başlarsınız. İlk adım sizi harf üzerine taşır
x
ve bu harf sizi ikinci satıra götürür . Harfx
artık olarak işlevx
görmüyor ancak onunla değiştiriliyor*
. Bu, sonraki örneklerde daha alakalı olacaktır. Şimdi alt çizgide bir yıldız işaretindesiniz ve bu sizin için hiçbir şey yapmadı.İkinci adım sizi ileriye doğru hareket ettirir ve dizeden çıkarsınız, böylece labirent tamamlanır ve 2 adım attı.
Çıktı
2
.Giriş :
xX* x1*
1. adım : devam edersiniz
x
, bu da sizix
alt çizginin üzerine taşır . Burada, kullanılan karakterin yıldız işareti ile değiştirildiğini söyleyen kural gelir. Sonra ilk satıra geri dönersin, ama artık değilx
orada değil, çünkü kullanılmış ve yıldız işareti oldu. Böylece bu yıldız işareti üzerinde güvenle hareket edersiniz ve adım tamamlanır (şimdi ilk satırın ilk pozisyonundasınız).2. adım : devam ederseniz
X
, sizi alt satıra iter ve sonra ileri doğru iter. Artık ikinci satırı (yıldız içeren1
) hiç ziyaret etmemiş olmak üzere, ikinci satırı (yıldız) üçüncü konumda bulabilirsiniz .3. adım : dizeden çıkarak ileri doğru hareket edersiniz.
Çıktı :
3
.
Test senaryoları:
Giriş:
*1* xxx
Çıktı:
3
. (çünkü1
üçüncü pozisyonda zıplamanızı sağlar). Orada asla ikinci satırı ziyaret etmezsiniz, ancak girişin bir parçası gereklidir.Giriş:
*X*1*x x*1xx*
Çıktı:
4
.Giriş:
1x1x ***X
Çıktı:
3
.Giriş:
1*x1xxx1*x x*x1*11X1x
Çıktı:
6
.Giriş:
xXXXxxx111* **xxx11*xxx
Çıktı:
6
.
"\n\n"
iki satırlı bir dize ...
1
, 1. satırdan önce başlar, o zaman bir adım ileri gidersiniz ve sonra labirenti bitirirsiniz ...