Eres un explorador, mapeando un mundo desconocido. Tu barco es transportado por el viento. A dónde va, ¿quién sabe?
Cada día, en tu catalejo, ves características hacia el norte, sur, este y oeste. Siempre ve cuatro de estas características, correspondientes a las direcciones cardinales. Su catalejo informa símbolos ASCII como este:
~~.*
, ~~~~
, ~.^^
,~#~#
Los símbolos están en el orden (norte, sur, este, oeste).
Estos son los símbolos: ~
= mar, .
= costa, ^
= montaña, *
= árbol, #
= inválido (sin observación, esto ocurre cada vez que se ve el borde del mundo, o el paisaje está oscurecido por la niebla). Su catalejo ve exactamente una unidad en cada dirección.
Cada noche, miras las estrellas para ver qué tan lejos has viajado. Al mirar las estrellas se informa un símbolo ascii como este:
n
, s
, e
,w
correspondiente a Norte, Sur, Este y Oeste, respectivamente. Siempre se mueve exactamente una unidad al norte, sur, este u oeste todas las noches. Entonces, como explorador, recibirás un flujo interminable de símbolos:
~~.*n~~~~s~~.*s~.**
Su tarea es generar un mapa 2D del mundo (donde ?
hay partes desconocidas del mapa, el norte está arriba, el este está a la derecha):
?~~~??????
?~~~??????
?~~~.^^.??
?~~.***.~~
~~.*^^*.~~
~~~..~~~~~
~~~~~~~~~~
~~~~~~~~~~
En aras de la simplicidad, supongamos que comienza en la esquina inferior izquierda del mapa. Suponga que todos los mapas son 8x8.
Aquí hay un ejemplo simple de 3x3. Suponga que el mapa se ve así:
~.~
~^~
~.~
Con la siguiente entrada: ~#.#n~~^#s
Obtendrá esta salida:
~??
~^?
~.?
Más entradas y salidas de ejemplo:
entrada
~#~#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.#~~
salida
~~~~~~~~
~....~~~
~.????~~
~~????~~
~~????.~
~~????~~
~~?.^.~~
~~~~~~~~
Entrada:
~#~#e~#~~e~#~~e.#~~e^#~~n.~..n~^~.n~.~~n.~~.n.~~*n~.~.n#.~~w#.~~w#.~~s~*..s..*.s*~.~s.~~~s
Salida:
?~~~~~??
?....~??
?.**.~??
?~..~~??
?~~~~~??
?~~..~??
~~~.^.??
~~~~~~??
~#~#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
) es incorrecto, y la salida debería tener ??
donde dice?.