배경
슬라임 금형 이 훌륭합니다. 음식 소스가있는 표면에 배치하면 음식을 찾기 위해 덩굴손을 퍼뜨린 다음 소스 사이를 연결하는 네트워크를 형성합니다. 이 도전에서는 음식을 찾는 점액 곰팡이를 시뮬레이션해야합니다. 또한,이 특정 금형은 일단 발견되면 멈출 것입니다.
입력
입력 L
은 사용자 언어의 기본 형식으로 된 2D 정수 좌표 목록 과 음이 아닌 정수 여야합니다 N
. 이 목록 L
은 중복되지 않아야하지만 정렬되지 않을 수 있습니다. 입력 N
값은 0에서 길이 사이 L
입니다.
이 목록 L
은 음식 소스에 대한 좌표 세트를 나타냅니다. 예를 들어, 목록
[(0,0),(2,-1),(3,1),(0,4),(5,5)]
시각적으로 해석 될 수
o
o
o
o
o
산출
출력은 K
입력과 같은 형식의 2D 정수 좌표의 중복되지 않은 또 다른 목록 입니다. 그것은 점액 금형에 의해 형성된 네트워크를 나타내며 다음 조건을 만족해야합니다.
- 의 교차
L
하고K
정확하게 크기를 가지고N
. - 세트
K
는 (직교 또는 대각선 인접성을 통해) 정수 그리드의 서브 세트 로 연결됩니다. - 의 좌표
K
가 제거되면 더 이상 처음 두 조건을 만족하지 않습니다.
인 경우 N = 0
출력은 빈 목록이어야합니다.
위의 목록에 허용되는 출력의 예는 다음 L
과 같습니다 N = 4
.
[(0,0),(0,1),(0,2),(0,3),(0,4),(1,4),(2,4),(3,3),(3,2),(3,1),(3,5),(4,5),(5,5)]
이는 다음과 같이 시각화 할 수 있습니다
xxO
Oxx
x x
x x
x O
O
o
각 위치를 O
나타내는 양의 좌표 L
와 K
, 각각 x
A가 좌표를 나타내고 K
있지만에서 L
. 다른 출력도 허용되며 "tendrils"가 가장 짧을 필요는 없습니다. 예를 들어, 이것은 또한 수용 가능한 솔루션입니다.
xxOxx
Oxx x
x x
x x
x o x
O x
Ox
규칙
입력과 출력은 모두 집합이거나 다른 데이터 유형이 아닌 목록이어야합니다. 좌표 자체는 목록 또는 튜플 일 수 있습니다. 필요한 경우 두 입력의 순서를 변경할 수 있습니다.
전체 프로그램이나 함수를 작성할 수 있습니다. 가장 낮은 바이트 수가 이기고 표준 허점이 허용되지 않습니다.
테스트 사례
프로그램은의 모든 해당 값에 대해이 목록에서 작업해야합니다 N
.
[]
[(2,3)]
[(0,0),(1,0),(0,1),(1,1)]
[(0,0),(2,-1),(3,1),(0,4),(5,5)]
[(0,0),(1,0),(2,0),(3,0),(0,3),(1,3),(2,3),(3,3)]
[(0,0),(1,0),(2,0),(3,0),(0,3),(1,3),(2,3),(3,3),(0,1),(0,2),(3,1),(3,2),(8,1),(8,2),(-5,1),(-5,2)]
[(0,0),(20,0),(15,15),(-10,4),(-10,3),(0,-5),(7,6),(7,7),(8,8),(9,8),(10,-2),(-1,12),(-3,10)]
[(0,0),(1,0),(2,0),(3,0),(5,0),(6,0),(7,0),(0,9),(1,9),(2,9),(3,8),(4,9),(5,10),(6,10),(7,9),(3,3),(4,4),(5,5)]
시각화 :
===
o
===
oo
oo
===
o
o
o
o
o
===
oooo
oooo
===
oooo
o o o o
o o o o
oooo
===
o
o
o
oo
o
o
o
o
o o
o
o
===
oo
ooo o o
o
o
o
o
oooo ooo