기사 채우기는 기사 체스 조각의 연결성을 사용하는 플러드 채우기입니다. 구체적으로 특별히:
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:
##############
##############
##@@@@@@@@@###
##@@@@@@@@@###
##@@@@@@@@@###
##@@@###@@@###
##@@@#@#@@@###
##@@@###@@@###
##@@@@@@@@@###
##@@@@@@@@@###
##@@@@@@@@@###
##############
##############