「騎士漫遊」的問題大意如下:
在8*8的棋盤方格上,乙個騎士可以自由移動(移動方法為走l形,即橫著走兩格然後豎著走一格,或是豎著走兩格然後橫著走一格)。騎士可以從棋盤上任乙個方格出發,在64(8*8=64)步內是否可以漫遊整個棋盤,每個方格都走到並且只走一次。
用乙個初始化為0的8*8的二維陣列來代表棋盤:
0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0
2 0 0 8 0 7 0 0 0
3 0 5 0 0 0 1 0 0
4 0 0 0 k 0 0 0 0
5 0 6 0 0 0 2 0 0
6 0 0 4 0 3 0 0 0
7 0 0 0 0 0 0 0 0
k代表起始點,1--8代表騎士可能的8種走法。
#include#includeusing namespace std;
int g[8][8];
int q[100];
int step[8][8];
bool vis[8][8];
int dir[8][2]=,,,,,,,};
int stx,sty,edx,edy;
void bfs(int x, int y)
} }}int main()
return 0;
}
hdu1372 dfs搜尋之西洋棋的馬
乙個8x8的西洋棋棋盤,你有乙個棋子 馬 算出棋子 馬 從某一格到另一格仔的最少步數。與普通dfs不同的是,你能走的路線不是上下左右,四個方向。而是由 日 字組成的8個方向。雖然是西洋棋的馬,但是其實和中國象棋的馬走法還是一樣的。include include includeusing namesp...
P1372 又是畢業季
叮鈴鈴鈴 隨著高考最後一科結考鈴聲的敲響,三年青春時光頓時凝固於此刻。畢業的欣喜怎敵那離別的不捨,憧憬著未來仍毋忘逝去的歌。1000多個日夜的歡笑和淚水,全凝聚在畢業晚會上,相信,這一定是一生最難忘的時刻!為了把畢業晚會辦得更好,老師想要挑出默契程度最大的k個人參與畢業晚會彩排。可是如何挑呢?老師列...
洛谷 1372 又是畢業季I
叮鈴鈴鈴 隨著高考最後一科結考鈴聲的敲響,三年青春時光頓時凝固於此刻。畢業的欣喜怎敵那離別的不捨,憧憬著未來仍毋忘逝去的歌。1000多個日夜的歡笑和淚水,全凝聚在畢業晚會上,相信,這一定是一生最難忘的時刻!為了把畢業晚會辦得更好,老師想要挑出默契程度最大的k個人參與畢業晚會彩排。可是如何挑呢?老師列...