第三題 3 × 3數字推盤 ( 八方塊遊戲 ) 問題描述 在 3×3 大小的棋盤上,有 8 個數字方塊及 1 個空格。棋盤上,只能讓跟空格相鄰的數字方塊滑動到空格中,每滑動 1 次是為 1 步。請對任一情況盤面,使用最少的滑動次數,將棋盤數字依序排列為:由左上角開始,由左到右、由上到下數字漸增。下方左圖為一棋盤輸入範例,該盤面以數列: " 1 4 2 0 3 5 6 7 8 " 表示,其中數字 0 表示空格;右圖則為依指定順序排列 好數字方塊的結果。 請找出最少要滑動幾次才可以排好,若滑動次數超過 31 次則以 -1 表示無解。
輸入說明 輸入 9 個在 0 ~ 8 之中不重複的整數,以 0 表示輸入盤面上的空格,數字間以空格隔開。 輸出說明 輸出排好該輸入盤面,所需要的最少步數;若無解或移動次數需超過 31 次,則輸出 -1 。 範例
|