Erstellen Sie ein Programm, das anhand einer Eingabe des Pfads festlegt, ob Mario das Ende erreichen kann, das E
von Anfang an mit gekennzeichnet ist S
.
Ein Pfad sieht ungefähr so aus:
S = E
=====
In einem Pfad sind die verschiedenen Symbole und was sie darstellen:
=
: Wand / Boden / Decke. Mario kann nicht durch eine Wand gehen und kann nicht über einen Boden fallen oder über eine Decke springen (er würde sich auf den Kopf schlagen)S
: Luft, außer zu zeigen, wo Mario beginnt. Dies wird immer in der äußersten linken Spalte des Eingangs in Bodennähe angezeigt.E
: Luft, außer zu zeigen, wo Mario bekommen will. Dies wird immer in der äußersten rechten Spalte des Eingangs in Bodennähe angezeigt.
Die Eingabe wird an jeder Stelle Leerzeichen enthalten, an der Mario laufen könnte.
Mario kann sich nur vorwärts bewegen; In diesem Beispiel kann Mario das Ziel nicht erreichen
S
===
===
E
====
noch kann er in diesem
E
==
==
#==
==
==
==
S ==
======
Er kann jedoch den mit gekennzeichneten Bereich erreichen #
(der in der Eingabe nicht angezeigt wird), da er bis zu vier Zellen hoch springen kann. Mario ist übermenschlich. Ein weiteres Beispiel für seine Übermenschlichkeit:
S
=
=
=
=
=
= #
= =
=
=
=
= E
=======
Mario kann das erreichen, E
indem er die große Distanz verliert, überlebt und ruhig dahin läuft E
. Beachten Sie, dass er das nicht erreichen kann #
, da Mario gerade nach unten fällt.
Mario kann sehr hoch springen , aber im Vergleich nicht sehr weit nach vorne.
S E
== ==
= =
Mario mag versuchen, die Lücke zu überspringen, aber er wird scheitern und direkt hineinfallen. Er kann das Ende nicht erreichen.
Mario kann das Ziel in all diesen Beispielen erreichen:
E
=
=
=
S=
==
=
= E
S= =
== =
= =
=====
S
=
= E
====
Dies ist Codegolf, so dass nur wenige Bytes gewinnen!
#
. Zur zweiten Frage: Ich bin nicht OP, aber ich vermute, Sie haben recht. (das habe ich in meiner Lösung angenommen)
E
nicht in der Spalte ganz rechts angezeigt, da sich das Bodenniveau vom Rest der Karte aus um eins nach rechts erstreckt.
Mario cannot walk through wall , and cannot fall past a floor, or jump past a ceiling
#
, weil Mario gerade nach unten fällt." Wenn ich das richtig ansehe, fällt er dann nicht direkt auf das#
? Sind Sprünge auch als maximal 4 Leerzeichen und maximal 1 Leerzeichen definiert?