Итак, вот карта, скажем, темницы ...
##########
# #####
# #####
##########
##########
##########
##########
#### ##
#### ##
##########
Скажем, герой находится в комнате A (вверху слева), а его цель (принц в беде?) - в комнате B (справа внизу). Наша карта не позволяет герою продвигаться к своей цели.
Нам нужно добавить проход ...
##########
# #####
# #####
####.#####
####.#####
####.#####
####.#####
#### ##
#### ##
##########
Там намного лучше!
правила
- Программа или функция, которая принимает карту подземелий (состоящую из хэшей и пробелов, со строками, разделенными символами новой строки).
- Он выведет карту с добавленными точками для обозначения проходов во всех пробелах, которые находятся на прямом пути между пробелами.
- Это не изменит длину строки или количество строк.
- Проходы все по прямой линии от пробелов к пробелам.
- Проходы не могут поворачивать за углы
- Они не будут находиться между пробелами и краем карты.
- Используйте любой язык.
- Попытайтесь выполнить преобразование в наименьшем количестве байтов.
- Если никакие проходы не могут быть нарисованы, верните карту без изменений.
- На карте всегда должны быть хэши по всем краям (вам не нужно обрабатывать пробелы по краям).
- Входные карты всегда прямоугольные, каждая строка должна быть одинаковой ширины.
Контрольные примеры
#### ####
# # => # #
# # # #
#### ####
########## ##########
# ##### # #####
# ##### # #####
########## ####.#####
########## => ####.#####
########## ####.#####
########## ####.#####
#### ## #### ##
#### ## #### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ##########
########## => ##########
########## ##########
########## ##########
###### ## ###### ##
###### ## ###### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ####.#####
########## => ####.#####
#### ### #### ###
########## ######.###
###### ## ###### ##
###### ## ###### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ##..######
########## => ##..######
########## ##..######
########## ##..######
## ####### ## .######
## ###### ## ######
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## #.########
########## => #.########
########## #.########
####### # #.##### #
####### # #.##### #
# ##### # # ..... #
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## #.########
##### ### => #.### ###
##### ### #.### ###
####### # #.##### #
####### # #.##### #
# ##### # # ..... #
########## ##########
########## ##########
## # ## #
########## ##......##
########## ##......##
########## => ##......##
########## ##......##
########## ##......##
########## ##......##
# ## # ##
########## ##########
########## ##########
#### #### #### ####
####### ## ####..# ##
###### ### ####.. ###
# ### ## # => # ... .. #
# ## ### # # .. ... #
### ###### ### ..####
## ####### ## #..####
#### #### #### ####
########## ##########
#
и.
?