Nel mondo dell'arte ASCII, ci sono acqua, pareti di hash e meccanismi di lettere.
Sei in una stanza composta da muri di hash ( #
segni):
#######
# #
# #
# #
# ### #
# #
#######
Installi una fonte di acqua S ( S
segno) e un serbatoio di acqua E ( E
segno) che può ricevere acqua da qualsiasi direzione, ma hai solo una fonte S e un serbatoio E.
#######
# S #
# #
# #
# ### #
# E #
#######
Quindi devi selezionare saggiamente dove posizionare la fonte. È qui che tiri fuori le tue abilità nel code-golf .
L'obiettivo
Ottieni un input costituito da una stringa che rappresenta una stanza con la sorgente e il serbatoio:
#######
# S #
# #
# #
# ### #
# E #
#######
Devi scoprire se alla fine l'acqua raggiunge il serbatoio. L'acqua scorre verso il basso, se possibile, altrimenti a sinistra e a destra, se possibile. L'acqua non si accumula perché non sale.
Quindi, per l'input sopra, il risultato è:
#######
# * #
# * #
#*****#
#*###*#
#**O**#
#######
L'acqua raggiunge felicemente il serbatoio, quindi è necessario fornire un valore veritiero.
Ma se l'acqua non raggiunge il serbatoio:
#######
#S #
# #
# E #
# ### #
# #
#######
#######
#* #
#* #
#* X #
#*### #
#*****#
#######
Quindi è necessario generare un valore errato.
Scrivi un programma per decidere se l'acqua raggiunge il serbatoio. Il tuo codice dovrebbe essere il più breve possibile.
ipotesi
Supponiamo che l'input sia sempre valido (l'intera stanza è una regione rettangolare chiusa con la S e la E).
Supponiamo che ci sia solo una stanza fornita come input.
Casi test
Il tuo programma dovrebbe restituire un valore di verità per i seguenti casi di test:
#######
# S #
# #
# #
# ### #
# E #
#######
#######
# S #
# #
# E #
# #
# #
#######
#######
# #
# #
# SE #
# ### #
# #
#######
###############################################
# S #
# #
# #
# #
# ############### #
# #
# ################## ################## #
# #
# #
# ##### #
# E #
###############################################
#######
# S #
# #
# #
# ### #
# # #
### ###
## E ##
# #
#######
Ma un valore falso per i seguenti casi di test:
#######
#S #
# #
# E #
# ### #
# #
#######
#######
# #
# SE #
# #
# #
# #
#######
#######
# #
# E #
# #
# S #
# #
#######
####################################
# #
# #
# #
#S # E#
####################################
La penultima stanza della categoria Vero e l'ultima stanza della categoria Falso sono state sottratte senza vergogna in prestito da Koth: Jump and Run di Manu (che ha eliminato il post sandbox).
L'ultima stanza nella categoria True è dalla risposta di Martin Buttner a Retina .
from
/ to
/ davvero (il che rende più semplice per i partecipanti elaborare tutti i test casi contemporaneamente).