Vous êtes un explorateur, cartographiant un monde inconnu. Votre bateau est transporté par le vent. Où ça va, qui sait?
Chaque jour, dans votre spyglass, vous voyez des caractéristiques au nord, au sud, à l'est et à l'ouest. Vous voyez toujours quatre caractéristiques de ce type, correspondant aux directions cardinales. Votre spyglass affiche les symboles ASCII suivants:
~~.*
, ~~~~
, ~.^^
,~#~#
Les symboles sont dans l'ordre (nord, sud, est, ouest).
Ce sont les symboles: ~
= mer, .
= côte, ^
= montagne, *
= arbre, #
= invalide (aucune observation, cela se produit chaque fois que vous voyez la lisière du monde ou que le paysage est obscurci par le brouillard). Votre spyglass voit exactement une unité dans chaque direction.
Chaque soir, vous regardez les étoiles pour voir votre chemin parcouru. En regardant les étoiles, on voit un symbole ascii comme celui-ci:
n
, s
, e
,w
correspondant au nord, sud, est et ouest, respectivement. Vous déplacez toujours exactement une unité au nord, au sud, à l'est ou à l'ouest chaque nuit. Ainsi, en tant qu'explorateur, vous recevrez un flot infini de symboles:
~~.*n~~~~s~~.*s~.**
Votre tâche consiste à produire une carte 2D du monde (où se ?
trouvent des parties inconnues de la carte, le nord est en haut, l’est est à droite):
?~~~??????
?~~~??????
?~~~.^^.??
?~~.***.~~
~~.*^^*.~~
~~~..~~~~~
~~~~~~~~~~
~~~~~~~~~~
Par souci de simplicité, supposons que vous commenciez dans le coin inférieur gauche de la carte. Supposons que toutes les cartes sont 8x8.
Voici un exemple simple 3x3. Supposons que la carte ressemble à ceci:
~.~
~^~
~.~
Avec l'entrée suivante: ~#.#n~~^#s
Vous obtiendrez cette sortie:
~??
~^?
~.?
Autres exemples d'entrées et de sorties:
contribution
~#~#n~~~#n~~~#n~~~#n~~~#n~~.#n~~.#n#~~#e#.~~e#.~~e#.~~e#.~~e#~~~e#~~~e#~#~s~~#~s~~#~s~~#~s~~#.s~~#~s~~#~s~##~w~#~~w.#~~w^#~~w.#~~
sortie
~~~~~~~~
~....~~~
~.????~~
~~????~~
~~????.~
~~????~~
~~?.^.~~
~~~~~~~~
Contribution:
~#~#e~#~~e~#~~e.#~~e^#~~n.~..n~^~.n~.~~n.~~.n.~~*n~.~.n#.~~w#.~~w#.~~s~*..s..*.s*~.~s.~~~s
Sortie:
?~~~~~??
?....~??
?.**.~??
?~..~~??
?~~~~~??
?~~..~??
~~~.^.??
~~~~~~??
~#~#n~~~#n~~~#n~~~#n~~~#n~~.#n~~.#n#~~#e#.~~e#.~~e#.~~e#.~~e#~~~e#~~~e#~#~s~~#~s~~#~s~~#~s~~#.s~~#~s~~#~s~##~w~#~~w.#~~w^#~~w
) est erroné et que la sortie devrait ??
?.