이 과제의 목표는 이동이 유효한 영어 체커 이동 인지 확인하는 것입니다 .
이 과제는 8x8 보드를 사용합니다. 움직 인 조각은 대각선으로 만 움직일 수있는 사람 (왕이 아닌)으로 취급해야합니다. 보드에는 0 개 이상의 검은 조각과 1 개 이상의 흰색 조각이 있습니다. 하나의 흰색 조각이 현재 움직이고 있습니다. 바로 뒤에있는 사각형이 비어 있으면 흰색 조각이 검은 색 조각 위에 대각선으로 "점프"할 수 있습니다. 앞면의 대각선 방향으로 다른 검은 색 조각이 있으면 해당 위치에서 추가로 점프 할 수 있습니다. 캡처는 필수이므로 사용 가능한 점프를하지 않는 것은 불법입니다. 그러나 점프 수를 최대화하는 경로를 반드시 가져야하는 것은 아닙니다. 기본적으로 이것은 점프를하고 종료 위치에서 또 다른 점프가 가능한 경우 해당 이동은 불법임을 의미합니다. 피스 위치는 다음과 같은 번호 체계를 사용합니다.
규칙
입력 :
검은 색 조각을 나타내는 숫자 목록입니다.
흰색 조각을 나타내는 숫자 목록입니다.
하얀 조각의 시작 위치
흰색 조각의 끝 위치
산출:
- 이동이 유효하면 참값, 그렇지 않으면 거짓 값
흰색 조각이 항상 시작 위치를 차지한다고 가정 할 수 있습니다.
편리하다면 흰색 조각 목록의 첫 번째 흰색 조각에 입력 3을 받아들이지 않고 시작 위치가 있다고 가정 할 수 있습니다.
표준 코드 골프 규칙. 가장 적은 바이트가 이깁니다.
테스트 사례
예를 들어, O는 시작 위치, X는 종료 위치, B는 검은 색, W는 흰색입니다
Black pieces: []
White pieces: [5]
Move: (5, 1)
Output: True
Single move no jump
X _ _ _
O _ _ _
B: [6]
W: [9]
M: (9, 2)
O: True
Single jump
_ X _ _
_ B _ _
O _ _ _
B: [2, 6]
M: (9, 2)
O: False
Illegal ending position on top of black piece
_ X _ _
_ B _ _
O _ _ _
B: [7, 14]
W: [17]
M: (17, 3)
O: True
Double jump
_ _ X _
_ _ B _
_ _ _ _
_ B _ _
O _ _ _
B: [7, 14]
M: (17, 10)
O: False
Illegal jump, must take the next jump as well
_ _ _ _
_ _ B _
_ X _ _
_ B _ _
O _ _ _
B: [4]
W: [8]
M: (8, 3)
O: False
Illegal jump across the board
_ _ _ X
B _ _ _
O _ _ _
B: [6, 7]
W: [6]
M: (10, 1)
O: True
Split decision p1
X _ _ _
_ B B _
_ O _ _
B: [6, 7]
M: (10, 3)
O: True
Split decision p2
_ _ X _
_ B B _
_ O _ _
B: [2]
W: [1]
M: (1, 3)
O: False
Sideways Jump
O B X _
B: [6]
W: [1]
M: (1, 10)
O: False
Backwards Jump
O _ _ _
_ B _ _
_ X _ _
B: [6]
W: [9, 2]
M: (9, 2)
O: False
Illegal ending position on top of white piece
_ X _ _
_ B _ _
O _ _ _
B: []
W: [9, 6]
M: (9, 2)
O: False
Illegal jump over white piece
_ X _ _
_ W _ _
O _ _ _
B: [8, 15, 23, 24]
W: [27]
M: (27, 4)
O: True
Split decision long path
_ _ _ X
_ _ _ B
_ _ _ _
_ _ B _
_ _ _ _
_ _ B B
_ _ W _
B: [8, 15, 23, 24]
W: [27]
M: (27, 20)
O: True
Split decision short path
_ _ _ _
_ _ _ B
_ _ _ _
_ _ B _
_ _ _ X
_ _ B B
_ _ W _
죄송합니다 . (영어) 체커 게임 방법을 모르겠습니다 . 법적 조치에 대한 자세한 내용을 추가 하시겠습니까?
—
tsh
다음은 테스트 사례 를 STDIN 친화적 형식으로 요약 한 것입니다 .
—
Arnauld
캡처는 필수이므로 사용 가능한 점프를하지 않는 것은 불법입니다. "점프하다"는 무슨 뜻입니까?
—
Outgolfer Erik
@JonathanAllan 나는 설명에서 귀하의 질문을 해결하고 테스트 사례를 추가했다고 생각합니다.
—
aoemica
B=[8,15,23,24];W=[27]
각각 1M=[27,4]
과 같은 테스트 사례를 제안한다M=[27,20]
. 그것은 방향을 바꿀 것이다. 2 그것은 내가 가진 질문에 대답 할 것입니다 : 둘 다 유효합니까 아니면 더 오래 걸리나요? ( "캡처는 필수이므로 사용할 수있는 점프를하지 않는 것은 불법입니다") 일종의 제안은 둘 다 유효하지만 가능한 경우 캡처하지 않는 것이 왜 불법인지 알지 못합니다. 가능한 많은 조각?)