У мистецькому світі 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#
####################################
Другу до останньої кімнати в категорії «Правда» та останню кімнату в категорії «Хибні» було безсоромно викрадено позиками у Koth: Jump and Run by Manu (який видалив посаду з пісочниці).
Остання кімната в категорії «Правда» - це відповідь Мартіна Баттнера в «Retina» .
from
/ to
/ дійсно бітів (що полегшує учасникам обробку всіх тестів справи одразу).