Quindi, ecco una mappa di, diciamo, un sotterraneo ...
##########
# #####
# #####
##########
##########
##########
##########
#### ##
#### ##
##########
Diciamo che l'eroe è nella Sala A (in alto a sinistra) e il loro obiettivo (un principe in difficoltà?) È nella Sala B (in basso a destra). La nostra mappa non consente all'eroe di progredire verso il proprio obiettivo.
Dobbiamo aggiungere un passaggio ...
##########
# #####
# #####
####.#####
####.#####
####.#####
####.#####
#### ##
#### ##
##########
Ecco, molto meglio!
Regole
- Un programma o una funzione che accetta una mappa sotterranea (composta da hash e spazi, con righe separate da nuovi caratteri di linea).
- Verrà emessa una mappa con punti aggiunti per indicare i passaggi in tutti gli spazi che si trovano su un percorso diretto tra i caratteri dello spazio.
- Non cambierà la lunghezza della linea o il numero di linee.
- I passaggi sono tutti in linea diretta dagli spazi agli spazi.
- I passaggi non possono girare dietro gli angoli
- Non saranno tra gli spazi e il bordo della mappa.
- Usa qualsiasi lingua
- Tentativo di eseguire la conversione nel minor numero di byte.
- Se non è possibile tracciare passaggi, restituire la mappa invariata.
- La mappa dovrebbe sempre avere hash attorno a tutti i bordi (non è necessario gestire gli spazi ai bordi).
- Le mappe di input sono sempre rettangolari, ogni riga deve avere la stessa larghezza.
Casi test
#### ####
# # => # #
# # # #
#### ####
########## ##########
# ##### # #####
# ##### # #####
########## ####.#####
########## => ####.#####
########## ####.#####
########## ####.#####
#### ## #### ##
#### ## #### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ##########
########## => ##########
########## ##########
########## ##########
###### ## ###### ##
###### ## ###### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ####.#####
########## => ####.#####
#### ### #### ###
########## ######.###
###### ## ###### ##
###### ## ###### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ##..######
########## => ##..######
########## ##..######
########## ##..######
## ####### ## .######
## ###### ## ######
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## #.########
########## => #.########
########## #.########
####### # #.##### #
####### # #.##### #
# ##### # # ..... #
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## #.########
##### ### => #.### ###
##### ### #.### ###
####### # #.##### #
####### # #.##### #
# ##### # # ..... #
########## ##########
########## ##########
## # ## #
########## ##......##
########## ##......##
########## => ##......##
########## ##......##
########## ##......##
########## ##......##
# ## # ##
########## ##########
########## ##########
#### #### #### ####
####### ## ####..# ##
###### ### ####.. ###
# ### ## # => # ... .. #
# ## ### # # .. ... #
### ###### ### ..####
## ####### ## #..####
#### #### #### ####
########## ##########
#e.?