題目描述 description
yours和zero在研究a*啟發式演算法.拿到一道經典的a*問題,但是他們不會做,請你幫他們.
問題描述
在3×3的棋盤上,擺有八個棋子,每個棋子上標有1至8的某一數字。棋盤中留有乙個空格,空格用0來表示。空格周圍的棋子可以移到空格中。要求解的問題是:給出一種初始布局(初始狀態)和目標布局(為了使題目簡單,設目標狀態為123804765),找到一種最少步驟的移動方法,實現從初始布局到目標布局的轉變。
輸入描述 input description
輸入初試狀態,一行九個數字,空格用0表示
輸出描述 output description
只有一行,該行只有乙個數字,表示從初始狀態到目標狀態需要的最少移動次數(測試資料中無特殊無法到達目標狀態資料)
樣例輸入 sample input
樣例輸出 sample output
資料範圍及提示 data size & hint
詳見試題
!!!!!!!!:在對著別人的程式編就剁手!!!!!
1 #include 2 #include 3 #include 4using
namespace
std;
5int c[9]=;
6char mb[9]=;
7int dict2[4]=,
8 dict1[4]=;
9bool used[400000
],sign;
10int
www;
11int step[400000
];12
char q[400000][9
];13
intsteps;
14int hash(char str[9
])15
29return
sum;30}
31void
bfs()
3250
51if (!sign)
5256
57for (i=0;i<9;i++)
58if (q[h][i]==0)59
65for (i=0;i<4;i++)
6683}84
}85 h++;86}
87 steps=-1;88
return;89
}90intmain()
91
1225 八數碼難題
時間限制 1 s 空間限制 128000 kb 題目等級 鑽石 diamond 題解檢視執行結果 description yours和zero在研究a 啟發式演算法.拿到一道經典的a 問題,但是他們不會做,請你幫他們.問題描述 在3 3的棋盤上,擺有八個棋子,每個棋子上標有1至8的某一數字。棋盤中留...
1225 八數碼難題
題目描述 description yours和zero在研究a 啟發式演算法.拿到一道經典的a 問題,但是他們不會做,請你幫他們.問題描述 在3 3的棋盤上,擺有八個棋子,每個棋子上標有1至8的某一數字。棋盤中留有乙個空格,空格用0來表示。空格周圍的棋子可以移到空格中。要求解的問題是 給出一種初始布...
wikioi1225 八數碼難題
yours和zero在研究a 啟發式演算法.拿到一道經典的a 問題,但是他們不會做,請你幫他們.問題描述 在3 3的棋盤上,擺有八個棋子,每個棋子上標有1至8的某一數字。棋盤中留有乙個空格,空格用0來表示。空格周圍的棋子可以移到空格中。要求解的問題是 給出一種初始布局 初始狀態 和目標布局 為了使題...