В мире искусства ASCII есть вода, хэш-стены и буквенные механизмы.
Вы находитесь в комнате, состоящей из хеш-стен ( #
знаков):
#######
# #
# #
# #
# ### #
# #
#######
Вы устанавливаете источник воды S ( S
знак) и бак для воды E ( E
знак), который может получать воду из любого направления, но у вас есть только один источник S и один бак E.
#######
# S #
# #
# #
# ### #
# E #
#######
Таким образом, вы должны мудро выбрать, где разместить источник. Вот где вы получаете свои навыки игры в гольф .
Задание
Вы получаете вход, состоящий из строки, представляющей комнату с источником и резервуаром:
#######
# S #
# #
# #
# ### #
# E #
#######
Вы должны выяснить, достигает ли вода в конечном итоге резервуар. Вода стекает вниз, если возможно, влево и вправо, если это возможно. Вода не накапливается, потому что она не идет вверх.
Итак, для вышеприведенного ввода, результат:
#######
# * #
# * #
#*****#
#*###*#
#**O**#
#######
Вода благополучно достигает резервуара, поэтому вы должны вывести истинное значение.
Но если вода не достигает резервуара:
#######
#S #
# #
# E #
# ### #
# #
#######
#######
#* #
#* #
#* X #
#*### #
#*****#
#######
Тогда вы должны вывести ложное значение.
Напишите программу, чтобы решить, достигнет ли вода воды в баке. Ваш код должен быть максимально коротким.
Предположения
Предположим, что входные данные всегда действительны (вся комната представляет собой закрытую прямоугольную область с S и E).
Предположим, что в качестве входных данных используется только одна комната.
Тестовые случаи
Ваша программа должна вернуть истинное значение для следующих тестовых случаев:
#######
# S #
# #
# #
# ### #
# E #
#######
#######
# S #
# #
# E #
# #
# #
#######
#######
# #
# #
# SE #
# ### #
# #
#######
###############################################
# S #
# #
# #
# #
# ############### #
# #
# ################## ################## #
# #
# #
# ##### #
# E #
###############################################
#######
# S #
# #
# #
# ### #
# # #
### ###
## E ##
# #
#######
Но ложное значение для следующих тестовых случаев:
#######
#S #
# #
# E #
# ### #
# #
#######
#######
# #
# SE #
# #
# #
# #
#######
#######
# #
# E #
# #
# S #
# #
#######
####################################
# #
# #
# #
#S # E#
####################################
Комната со второй по последнюю в категории «Истина» и последняя комната в категории «Ложь» были бесстыдно украдены, позаимствованные у Кота: Прыгай и беги , Ману (который удалил пост песочницы).
Последняя комната в категории «Истина» взята из ответа Мартина Буттнера в «Retina» .
from
/ to
/ реально (что облегчает участникам обработку всего теста дела сразу).