8 퍼즐은 15 퍼즐 (또는 슬라이딩 퍼즐 ) 의 작은 변형입니다 . 당신은이 3x3
임의의 순서로 배열 0-8 (0 나타냅니다 빈 타일)에서 숫자로 가득 격자. 당신의 임무는 3x3 그리드를 입력하고 목표 상태에 도달하기위한 가장 짧은 솔루션 (최소 이동)을 표시하는 것입니다. 출력에서 첫 번째 상태를 포함하여 각 보드 상태를 표시합니다.
최적의 솔루션이 여러 개있을 수 있으므로 하나만 인쇄하면됩니다.
입력 : (작은 예)
1 2 0
4 5 3
7 8 6
산출:
2 <- denotes minimum number of moves required
1 2 0
4 5 3
7 8 6
1 2 3
4 5 0
7 8 6
1 2 3
4 5 6
7 8 0 <- goal state
퍼즐을 풀 수 없으면 인쇄 -1
만하십시오 (해결 불가능 함을 나타냄)
편집 : 시간 제한 : <30 초.
npuzzle에 익숙하지 않은 사람들을 위해 제공된 링크를 읽으십시오.
—
st0le
귀하의 질문에,하지 말아야
—
Clyde Lobo
grid which is filled with numbers from 0-9
할 grid which is filled with numbers from 0-8
?
@ 클라이드, 죄송합니다! :) 수정되었습니다.
—
st0le
항상 해결할 수 있다는 것을 확신하십시오.
—
매직 문어 Urn
@MagicOctopusUrn 슬라이딩 규칙을 사용하여 목표 상태에서 초기 상태에 도달 한 경우 항상 해결할 수 있습니다. 임의로 타일을 넣으면 해결할 수없는 상태가 있습니다. n 퍼즐을위한 Google for Solvability
—
st0le