Di dunia seni ASCII, ada air, dinding hash, dan mekanisme huruf.
Anda berada di sebuah ruangan yang terdiri dari dinding hash ( #tanda):
#######
# #
# #
# #
# ### #
# #
#######
Anda memasang sumber air S ( Standa) dan tangki air E ( Etanda) yang dapat menerima air dari segala arah, tetapi Anda hanya memiliki satu sumber S dan satu tangki E.
#######
# S #
# #
# #
# ### #
# E #
#######
Jadi, Anda harus memilih dengan bijak di mana menempatkan sumber. Di situlah Anda melakukan keterampilan kode-golf Anda .
Tugas
Anda mendapatkan input yang terdiri dari string yang mewakili ruangan dengan sumber dan tangki:
#######
# S #
# #
# #
# ### #
# E #
#######
Anda harus mencari tahu apakah air akhirnya mencapai tangki. Jika memungkinkan, air akan mengalir ke bawah, ke kiri dan ke kanan, jika mungkin. Airnya tidak menumpuk karena tidak naik.
Jadi, untuk input di atas, hasilnya adalah:
#######
# * #
# * #
#*****#
#*###*#
#**O**#
#######
Air dengan gembira mencapai tangki, jadi Anda harus menampilkan nilai yang benar.
Tetapi jika air tidak mencapai tangki:
#######
#S #
# #
# E #
# ### #
# #
#######
#######
#* #
#* #
#* X #
#*### #
#*****#
#######
Maka Anda harus menampilkan nilai palsu.
Tulis program untuk memutuskan apakah air pada akhirnya mencapai tangki. Kode Anda harus sesingkat mungkin.
Asumsi
Asumsikan bahwa input selalu valid (seluruh ruangan adalah wilayah persegi panjang tertutup dengan S dan E).
Asumsikan hanya ada satu kamar yang disediakan sebagai input.
Uji Kasus
Program Anda harus mengembalikan nilai kebenaran untuk kasus uji berikut:
#######
# S #
# #
# #
# ### #
# E #
#######
#######
# S #
# #
# E #
# #
# #
#######
#######
# #
# #
# SE #
# ### #
# #
#######
###############################################
# S #
# #
# #
# #
# ############### #
# #
# ################## ################## #
# #
# #
# ##### #
# E #
###############################################
#######
# S #
# #
# #
# ### #
# # #
### ###
## E ##
# #
#######
Tetapi nilai palsu untuk kasus uji berikut:
#######
#S #
# #
# E #
# ### #
# #
#######
#######
# #
# SE #
# #
# #
# #
#######
#######
# #
# E #
# #
# S #
# #
#######
####################################
# #
# #
# #
#S # E#
####################################
Kamar kedua hingga terakhir dalam kategori True dan kamar terakhir dalam kategori False dicuri tanpa dipinjam dari Koth: Jump and Run by Manu (yang menghapus posting sandbox).
Kamar terakhir dalam kategori True adalah dari jawaban Martin Buttner di Retina .
from / to/ benar-benar (yang memudahkan peserta untuk memproses semua tes kasus sekaligus).