8パズルは、15Puzzle(またはSliding puzzle)の小さなバリエーションです。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
あなたの質問では、べきではない
—
クライドロボ
grid which is filled with numbers from 0-9
ことgrid which is filled with numbers from 0-8
?
@クライド、おっと!:) 修繕。
—
-st0le
いつでも解決できると確信していますよね?
—
魔法のタコUr
@MagicOctopusUrnスライドルールを使用して目標状態から初期状態に到達した場合、常に解決可能です。arbitrarily意的にタイルを配置すると、解決できない状態があります。n個のパズルのための可解性のためにグーグル
—
st0le