Crea un programma che determina, dato un input del percorso, se Mario può raggiungere la fine, indicato da E, sin dall'inizio, indicato daS .
Un percorso sarà simile a questo:
S = E
=====
In un percorso, i vari simboli e ciò che rappresentano sono:
=: parete / pavimento / soffitto. Mario non può attraversare il muro e non può oltrepassare un pavimento o saltare oltre un soffitto (avrebbe colpito la sua testa)(spazio): aria. Mario può attraversarlo, saltarci dentro e cadereS: aria, tranne mostrare dove inizia Mario. Apparirà sempre nella colonna più a sinistra dell'ingresso, a livello del suolo.E: aria, tranne mostrare dove Mario vuole arrivare. Apparirà sempre nella colonna più a destra dell'ingresso, a livello del suolo.
L'ingresso avrà spazi in ogni luogo in cui Mario potrebbe camminare.
Mario può solo andare avanti; in questo esempio Mario non può raggiungere l'obiettivo
S
===
===
E
====
né può in questo
E
==
==
#==
==
==
==
S ==
======
Tuttavia, può raggiungere lo spazio indicato da #(che non apparirà in input), perché può saltare fino a quattro celle in alto; Mario è sovrumano. Come altro esempio della sua superumanità:
S
=
=
=
=
=
= #
= =
=
=
=
= E
=======
Mario può arrivare Ecadendo a grande distanza, sopravvivendo e camminando con calma verso E. Nota che non può raggiungere il #, perché Mario cade dritto.
Mario può saltare molto in alto, ma non molto lontano in confronto.
S E
== ==
= =
Mario può tentare di colmare il divario, ma fallirà e cadrà dritto. Non può raggiungere la fine.
Mario può raggiungere l'obiettivo in tutti questi esempi:
E
=
=
=
S=
==
=
= E
S= =
== =
= =
=====
S
=
= E
====
Questo è il golf del codice, quindi vince il minor numero di byte!
#. Per quanto riguarda la seconda domanda: non sono OP ma suppongo che tu abbia ragione. (è quello che ho assunto nella mia soluzione)
Enon appare nella colonna più a destra perché il livello del suolo si estende a destra dal resto della mappa.
Mario cannot walk through wall , and cannot fall past a floor, or jump past a ceiling
#, perché Mario cade dritto". Se lo sto visualizzando correttamente, non cadrà direttamente sul#? Inoltre, i salti sono definiti come un massimo di 4 spazi su e un massimo di 1 spazio giusto?