P2324 SCOI2005 騎士精神

2022-05-03 13:27:28 字數 1252 閱讀 4708

輸入格式:

第一行有乙個正整數t(t<=10),表示一共有n組資料。接下來有t個5×5的矩陣,0表示白色騎士,1表示黑色騎士,*表示空位。兩組資料之間沒有空行。

輸出格式:

對於每組資料都輸出一行。如果能在15步以內(包括15步)到達目標狀態,則輸出步數,否則輸出-1。

輸入樣例#1: 複製

2

10110

01*11

10111

01001

00000

01011

110*1

01110

01010

00100

輸出樣例#1: 複製

//先抄一遍吧

//實在是看不懂

#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仍然無法滿足時間限制,那麼可以考慮題目性質進...