輸入格式:
第一行有乙個正整數t(t<=10),表示一共有n組資料。接下來有t個5×5的矩陣,0表示白色騎士,1表示黑色騎士,*表示空位。兩組資料之間沒有空行。
輸出格式:
對於每組資料都輸出一行。如果能在15步以內(包括15步)到達目標狀態,則輸出步數,否則輸出-1。
輸入樣例#1: 複製
2輸出樣例#1: 複製10110
01*11
10111
01001
00000
01011
110*1
01110
01010
00100
//先抄一遍吧
//實在是看不懂
#include
#include
#include
#include
#include
using
namespace
std;
const
int n=20
;int
t;int
map[n][n],x,y,maxdep,flag;
int cx[8]=;
int cy[8]=;
int goal[5][5]=;
inline
bool
check()
inline
intcount()
void dfs(int x,int y,int
dep)
}for(int i=0;i<8;++i)
}}char s[10
];int
main()
}if(check())
for(maxdep=1;maxdep<=15;++maxdep)
if(flag)
printf(
"%d\n
",maxdep);
else
puts("-1
");}
return0;
}
P2324 SCOI2005 騎士精神
ida 演算法 12個白騎士和12個黑騎士在乙個5 5的棋盤上走來走去,求最後走成目標局面的最小步數。看不懂請走傳送門 ida 就是帶有迭代加深和估價函式優化的搜尋。估價函式 對未來搜尋深度的最優估計 通常是達不到的 對於估價函式g,要求g 現實步數 越接近越好,因為越接近能剪的枝就越多 當當前步數...
P2324 SCOI2005 騎士精神 題解
csdn同步 原題鏈結 簡要題意 給定乙個初始棋盤,每次乙個馬可以跳到空位 不考慮蹩腿問題 求到達目標棋盤的最小步數。本題其實是 八數碼難題 的乙個強化版,可以去看看 p1379 八數碼難題 題解.首先本題肯定是搜尋。咦?texttt 的效率不是嚴格不優於 texttt 的麼?為什麼還要用它呢?嗯,...
洛谷 P2324 SCOI2005 騎士精神
ida 練習題 1 ida iddfs a 1.1 iddfs用於單層 無限 情況但是解層數很少,這時可以限制dfs層數,id為每次的層數限制 1.2 a 具有估價函式,用於bfs快速求解 ida 就是將估價函式用於層數限制的dfs中,如果具有層數的dfs仍然無法滿足時間限制,那麼可以考慮題目性質進...