Jesteś odkrywcą, który mapuje nieznany świat. Twój statek jest unoszony na wietrze. Gdzie to idzie, kto wie?
Każdego dnia w lunecie obserwujesz elementy na północy, południu, wschodzie i zachodzie. Zawsze widzisz cztery takie cechy, odpowiadające głównym kierunkom. Twój spyglass zgłasza następujące symbole ASCII:
~~.*
, ~~~~
, ~.^^
,~#~#
Symbole są w kolejności (północ, południe, wschód, zachód).
Są to symbole: ~
= morze, .
= wybrzeże, ^
= góra, *
= drzewo, #
= nieważne (brak obserwacji, dzieje się to za każdym razem, gdy zobaczysz skraj świata lub krajobraz jest zasłonięty mgłą). Twoja luneta widzi dokładnie jedną jednostkę we wszystkich kierunkach.
Każdej nocy spoglądasz na gwiazdy, aby zobaczyć, jak daleko podróżowałeś. Patrząc na gwiazdy zgłasza taki symbol ascii:
n
, s
, e
,w
odpowiednio do północy, południa, wschodu i zachodu. Każdej nocy zawsze przenosisz dokładnie jedną jednostkę na północ, południe, wschód lub zachód. Więc jako odkrywca będziesz otrzymywać niekończący się strumień symboli:
~~.*n~~~~s~~.*s~.**
Twoim zadaniem jest wygenerowanie mapy 2D świata (gdzie ?
są nieznane części mapy, północ jest w górze, wschód jest w prawo):
?~~~??????
?~~~??????
?~~~.^^.??
?~~.***.~~
~~.*^^*.~~
~~~..~~~~~
~~~~~~~~~~
~~~~~~~~~~
Dla uproszczenia załóżmy, że zaczynasz w lewym dolnym rogu mapy. Załóż, że wszystkie mapy mają wymiary 8 x 8.
Oto prosty przykład 3x3. Załóżmy, że mapa wygląda następująco:
~.~
~^~
~.~
Z następującymi danymi wejściowymi: ~#.#n~~^#s
Otrzymasz ten wynik:
~??
~^?
~.?
Więcej przykładowych danych wejściowych i wyjściowych:
wkład
~#~#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.#~~
wydajność
~~~~~~~~
~....~~~
~.????~~
~~????~~
~~????.~
~~????~~
~~?.^.~~
~~~~~~~~
Wkład:
~#~#e~#~~e~#~~e.#~~e^#~~n.~..n~^~.n~.~~n.~~.n.~~*n~.~.n#.~~w#.~~w#.~~s~*..s..*.s*~.~s.~~~s
Wydajność:
?~~~~~??
?....~??
?.**.~??
?~..~~??
?~~~~~??
?~~..~??
~~~.^.??
~~~~~~??
~#~#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
) jest niepoprawny, a wyjście powinno mieć miejsce, w ??
którym jest napisane?.