ASCIIアートの世界では、水、ハッシュウォール、および文字のメカニズムがあります。
あなたはハッシュウォール(#
標識)で構成された部屋にいます:
#######
# #
# #
# #
# ### #
# #
#######
S水源(S
サイン)とE水タンク(E
サイン)を設置します。これらは、あらゆる方向から水を受け取ることができますが、SソースとEタンクはそれぞれ1つしかありません。
#######
# S #
# #
# #
# ### #
# E #
#######
そのため、ソースを配置する場所を賢く選択する必要があります。そこで、コードゴルフのスキルを引き出します。
タスク
ソースとタンクがある部屋を表す文字列で構成される入力を取得します。
#######
# S #
# #
# #
# ### #
# E #
#######
最終的に水がタンクに到達するかどうかを確認する必要があります。水は可能であれば流下し、可能であれば左右に流下します。上がっていないので水はたまりません。
したがって、上記の入力の結果は次のとおりです。
#######
# * #
# * #
#*****#
#*###*#
#**O**#
#######
水は喜んでタンクに届くので、真実の値を出力する必要があります。
しかし、水がタンクに届かない場合:
#######
#S #
# #
# E #
# ### #
# #
#######
#######
#* #
#* #
#* X #
#*### #
#*****#
#######
次に、偽の値を出力する必要があります。
最終的に水がタンクに到達するかどうかを判断するプログラムを作成します。コードはできるだけ短くする必要があります。
仮定
入力は常に有効であると仮定します(部屋全体はSとEで囲まれた長方形の領域です)。
入力として提供される部屋は1つだけであるとします。
テストケース
プログラムは、次のテストケースに対して真の値を返す必要があります。
#######
# S #
# #
# #
# ### #
# E #
#######
#######
# S #
# #
# E #
# #
# #
#######
#######
# #
# #
# SE #
# ### #
# #
#######
###############################################
# S #
# #
# #
# #
# ############### #
# #
# ################## ################## #
# #
# #
# ##### #
# E #
###############################################
#######
# S #
# #
# #
# ### #
# # #
### ###
## E ##
# #
#######
ただし、次のテストケースの偽の値:
#######
#S #
# #
# E #
# ### #
# #
#######
#######
# #
# SE #
# #
# #
# #
#######
#######
# #
# E #
# #
# S #
# #
#######
####################################
# #
# #
# #
#S # E#
####################################
Trueカテゴリーの最後から2番目の部屋とFalseカテゴリーの最後の部屋は、Koth:Jump and Run by Manu(sandbox postを削除した)から借りた恥知らずに盗まれました。
Trueカテゴリーの最後の部屋は、RetinaでのMartin Buttnerの回答です。
from
/ to
/ reallyビットを回避できるようにします(参加者がすべてのテストを簡単に処理できるようにします)一度にケース)。