Ou peut-être que ce n'est pas vraiment un labyrinthe, mais quand même.
Règles:
Entrée est une chaîne de deux lignes, constitué de
*,1,xetX. Cette chaîne est un labyrinthe à parcourir. Les lignes ont la même longueur .Vous pouvez prendre l'entrée comme une chaîne avec
,(virgule) ou tout séparateur pratique entre ces deux lignes. Ou vous pouvez prendre les deux lignes comme arguments séparés pour votre fonction.La sortie est le nombre d'étapes que vous devez prendre pour quitter la chaîne (la dernière étape est l'étape qui vous fait sortir de la chaîne).
Vous commencez dans le coin supérieur gauche (la ligne supérieure), avant le premier symbole.
Pour chaque étape, vous avancez d'un symbole (de la nième à la (n + 1) ème position ). Ensuite, selon le personnage sur lequel vous marchez, le résultat est différent. Voici ce que fait chaque personnage:
*- rien. Vous marchez simplement dessus normalement.x- une fois que vous avez marché dessus, changez de ligne, mais restez sur la même distance horizontale depuis le début. Par exemple, vous avez marché sur la troisième position de la ligne supérieure et rencontré un minusculexici. Ensuite, vous passez immédiatement à la ligne inférieure, mais à nouveau à la troisième position.X- changez de ligne et passez à la position suivante. L'exemple est le même là-bas, mais vous passez également de la troisième à la quatrième position (vous êtes donc sur la deuxième ligne à la quatrième position).1- avancez simplement d'une autre position.
Une fois que chaque personnage fait son travail, il est remplacé par un espace et ne fonctionne plus.
Des exemples suivent.
Entrée :
x *Comme dit précédemment, vous commencez avant le premier symbole de la première ligne. La première étape vous déplace sur la lettre
xet cette lettre vous fait passer à la deuxième ligne. La lettrexne fonctionne plus commex, mais remplacée par*. Cela sera plus pertinent dans les derniers exemples. Vous êtes maintenant sur un astérisque sur la ligne inférieure, et cela ne vous a rien fait.La deuxième étape vous fait avancer et vous quittez la chaîne, donc le labyrinthe est terminé et il a fallu 2 étapes.
Sortie
2.Entrée :
xX* x1*1ère étape : vous continuez
x, ce qui vous déplace sur laxligne inférieure. Voici la règle qui dit que le caractère utilisé est remplacé par un astérisque. Ensuite, vous revenez sur la première ligne, mais elle n'est plusxlà, car elle a été utilisée et est devenue un astérisque. Vous vous déplacez donc en toute sécurité sur cet astérisque et l'étape est terminée (vous êtes maintenant en première position de la première ligne).2ème étape : vous avancez
X, cela vous pousse vers la ligne inférieure puis vous pousse vers l'avant. Vous résidez maintenant sur la troisième position de la deuxième ligne (astérisque), n'ayant jamais visité la deuxième position (qui contient1).3ème étape : vous avancez en sortant de la chaîne.
Sortie :
3.
Cas de test:
Contribution:
*1* xxxSortie:
3. (car1vous fait sauter sur la troisième position). Là, vous ne visitez jamais la deuxième ligne, mais c'est une partie obligatoire de l'entrée.Contribution:
*X*1*x x*1xx*Sortie:
4.Contribution:
1x1x ***XProduction:
3.Contribution:
1*x1xxx1*x x*x1*11X1xProduction:
6.Contribution:
xXXXxxx111* **xxx11*xxxSortie:
6.
"\n\n"est une chaîne de deux lignes ...
1, comme vous commencez avant la 1ère ligne, puis vous avancez d'un pas, puis vous terminez le labyrinthe ...