ナイトフィルは、ナイトチェスの駒の接続性を使用したフラッドフィルです。具体的には:
1 1
1 1
0
1 1
1 1
(0は初期点、1は接続されたセルを示します)
チャレンジ
スペースと壁の2Dグリッドと初期位置を指定して、グリッドでナイトフィルを実行します。最短のコードが優先されます。
ルール
入力を受け取り、任意の形式(イメージ、文字列、配列など)で出力を生成できます。入力グリッドの一部として、または別の座標として初期位置を取得できます。この説明のために、次の形式が使用されます。
######## # = wall ######## x = initial location ## x ## ## ## ######## ## ## ######## ########
出力は、ナイトフィルの結果が追加された入力グリッドのコピーです
塗りつぶしは、スペースや壁と同じ「色」であってはなりませんが、初期位置マーカーと同じにすることができます。たとえば、上の画像の場合、有効な出力は次のようになります。
######## # = wall ######## @ = fill (could also have been x) ## @ @## ## @ @## ######## ##@ @ ## ######## ########
入力グリッドのすべての側面に2セルの壁が常に含まれると仮定できます。
- あなたは最初の場所が壁の中に決していないと仮定するかもしれません
- あなたは、グリッドが1000x1000より大きくなることは決してないと仮定するかもしれません
- ビルトインは問題ありません
- 最短コード(バイト単位)が勝ちます
テストケース
すべてのテストケースで#
、壁を示し、空きスペースを
x
示し、塗りつぶしの初期位置を示します。@
出力の塗りつぶしを示します。
Input 1:
########
########
## x ##
## ##
########
## ##
########
########
Output 1:
########
########
## @ @##
## @ @##
########
##@ @ ##
########
########
Input 2:
############
############
## ## x##
## ## ##
##### ##
## ##
############
############
Output 2:
############
############
## ##@@@@@##
##@##@@@@@##
#####@@@@@##
## @@@@@@@##
############
############
Input 3:
####################
####################
## ## ##
## ## ##
## ## ######## ##
## ## ######## ##
## ## ## ## ##
## ## ## ## ##
## ## ## ## ##
## ## ## ## ##
## ## ######## ##
## ## ######## ##
## ## ## ##
## ## x## ##
## ############ ##
## ############ ##
## ##
## ##
####################
####################
Output 3:
####################
####################
##@@##@@@@@@@@@@@@##
##@@##@@@@@@@@@@@@##
##@@##@@########@@##
##@@##@@########@@##
##@@##@@## ##@@##
##@@##@@## ##@@##
##@@##@@## ##@@##
##@@##@@## ##@@##
##@@##@@########@@##
##@@##@@########@@##
##@@##@@@@@@@@##@@##
##@@##@@@@@@@@##@@##
##@@############@@##
##@@############@@##
##@@@@@@@@@@@@@@@@##
##@@@@@@@@@@@@@@@@##
####################
####################
Input 4:
################
################
## ###
## x ###
## ####### ###
## ####### ###
## ## ## ###
## ## ## ###
## ## ## ###
## ######## ##
## ######## ##
## ## ##
## ## ##
################
################
Output 4:
################
################
## @ @ ###
## @ @ @ ###
## ####### ###
##@ ####### @###
## ## ## ###
## @## ##@ ###
## ## ## ###
##@ ########@ ##
## ######## ##
## @ @ ## @##
## @ @## ##
################
################
Input 5:
##############
##############
## ###
## ###
## ###
## ### ###
## #x# ###
## ### ###
## ###
## ###
## ###
##############
##############
Output 5:
##############
##############
##@@@@@@@@@###
##@@@@@@@@@###
##@@@@@@@@@###
##@@@###@@@###
##@@@#@#@@@###
##@@@###@@@###
##@@@@@@@@@###
##@@@@@@@@@###
##@@@@@@@@@###
##############
##############