Dans le monde de l'art ASCII, il y a de l'eau, des murs de hachage et des mécanismes de lettres.
Vous êtes dans une pièce composée de murs de hachage ( #
panneaux):
#######
# #
# #
# #
# ### #
# #
#######
Vous installez une source d'eau S ( S
panneau) et un réservoir d'eau E ( E
panneau) qui peut recevoir de l'eau de n'importe quelle direction, mais vous n'avez qu'une source S et un réservoir E.
#######
# S #
# #
# #
# ### #
# E #
#######
Vous devez donc choisir judicieusement où placer la source. C'est là que vous retirez vos compétences de golf de code .
La tâche
Vous obtenez une entrée composée d'une chaîne représentant une pièce avec la source et le réservoir:
#######
# S #
# #
# #
# ### #
# E #
#######
Vous devez savoir si l'eau atteint finalement le réservoir. L'eau coule, si possible, sinon à gauche et à droite, si possible. L'eau ne s'accumule pas car elle ne monte pas.
Ainsi, pour l'entrée ci-dessus, le résultat est:
#######
# * #
# * #
#*****#
#*###*#
#**O**#
#######
L'eau atteint joyeusement le réservoir, vous devez donc produire une valeur vraie.
Mais si l'eau n'atteint pas le réservoir:
#######
#S #
# #
# E #
# ### #
# #
#######
#######
#* #
#* #
#* X #
#*### #
#*****#
#######
Ensuite, vous devez sortir une valeur falsifiée.
Écrivez un programme pour décider si l'eau atteint finalement le réservoir. Votre code doit être aussi court que possible.
Hypothèses
Supposons que l'entrée est toujours valide (toute la pièce est une région rectangulaire fermée avec le S et l'E).
Supposons qu'une seule pièce soit fournie en entrée.
Cas de test
Votre programme doit renvoyer une valeur véridique pour les cas de test suivants:
#######
# S #
# #
# #
# ### #
# E #
#######
#######
# S #
# #
# E #
# #
# #
#######
#######
# #
# #
# SE #
# ### #
# #
#######
###############################################
# S #
# #
# #
# #
# ############### #
# #
# ################## ################## #
# #
# #
# ##### #
# E #
###############################################
#######
# S #
# #
# #
# ### #
# # #
### ###
## E ##
# #
#######
Mais une valeur fausse pour les cas de test suivants:
#######
#S #
# #
# E #
# ### #
# #
#######
#######
# #
# SE #
# #
# #
# #
#######
#######
# #
# E #
# #
# S #
# #
#######
####################################
# #
# #
# #
#S # E#
####################################
L'avant-dernière salle de la catégorie True et la dernière salle de la catégorie False ont été volées sans vergogne à Koth: Jump and Run by Manu (qui a supprimé le post sandbox).
La dernière salle de la catégorie True provient de la réponse de Martin Buttner dans Retina .
from
/ to
/ vraiment (ce qui facilite le traitement des tests par les participants cas à la fois).