Sei un esploratore, mappando un mondo sconosciuto. La tua nave è trasportata dal vento. Dove va, chi lo sa?
Ogni giorno, nel tuo cannocchiale, vedi elementi a nord, sud, est e ovest. Vedi sempre quattro di queste caratteristiche, corrispondenti alle direzioni cardinali. Il cannocchiale riporta simboli ASCII come questo:
~~.*
, ~~~~
, ~.^^
,~#~#
I simboli sono nell'ordine (nord, sud, est, ovest).
Questi sono i simboli: ~
= mare, .
= costa, ^
= montagna, *
= albero, #
= invalido (nessuna osservazione, questo si verifica ogni volta che vedi il bordo del mondo o il paesaggio è oscurato dalla nebbia). Il tuo cannocchiale vede esattamente un'unità in ogni direzione.
Ogni notte, guardi le stelle per vedere fino a che punto hai viaggiato. Guardare le stelle riporta un simbolo ASCII come questo:
n
, s
, e
,w
corrispondente a nord, sud, est e ovest, rispettivamente. Sposta sempre esattamente un'unità verso nord, sud, est o ovest ogni notte. Quindi tu, come esploratore, riceverai un flusso infinito di simboli:
~~.*n~~~~s~~.*s~.**
Il tuo compito è quello di produrre una mappa 2D del mondo (dove ci ?
sono parti sconosciute della mappa, il nord è in alto, l'est è a destra):
?~~~??????
?~~~??????
?~~~.^^.??
?~~.***.~~
~~.*^^*.~~
~~~..~~~~~
~~~~~~~~~~
~~~~~~~~~~
Per semplicità supponiamo che inizi nell'angolo in basso a sinistra della mappa. Supponiamo che tutte le mappe siano 8x8.
Ecco un semplice esempio 3x3. Supponiamo che la mappa sia simile a questa:
~.~
~^~
~.~
Con il seguente input: ~#.#n~~^#s
Otterrai questo risultato:
~??
~^?
~.?
Altri esempi di input e output:
ingresso
~#~#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.#~~
produzione
~~~~~~~~
~....~~~
~.????~~
~~????~~
~~????.~
~~????~~
~~?.^.~~
~~~~~~~~
Ingresso:
~#~#e~#~~e~#~~e.#~~e^#~~n.~..n~^~.n~.~~n.~~.n.~~*n~.~.n#.~~w#.~~w#.~~s~*..s..*.s*~.~s.~~~s
Produzione:
?~~~~~??
?....~??
?.**.~??
?~..~~??
?~~~~~??
?~~..~??
~~~.^.??
~~~~~~??
~#~#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
) sia sbagliato, e l'output dovrebbe avere ??
dove dice?.