dfs 騎士遊歷I

2021-09-19 07:58:14 字數 789 閱讀 3452

如下圖所示有m*n(n,m<=15)乙個棋盤,在棋盤左下角的a(1,1)點,有乙個中國象棋〈馬〉,並約定馬走的規則:

①走日字;②只能向右走。

兩個數,n,m

最少步數

9 8
10
#include

#include

#include

using

namespace std;

const

int dx[5]

=;const

int dy[5]

=;const

int big=20;

int a[big+2]

[big+2]

,s=0

,n,m,total=0;

int b[big*big+2]

;void

dfs(

int x,

int y)

for(

int i=

1;i<=

4;i++

)//四個方向

if(x+dx[i]

>

0&&x+dx[i]

<=m&&y+dy[i]

>

0&&y+dy[i]

<=n)

//是否越界

if(a[x+dx[i]

][y+dy[i]]==

0)//基本dfs

}int

main()

POJ2488 騎士遊歷 DFS

題目意思是在乙個國際棋盤裡,判斷馬能否不重複的走過所有格,並記錄下其中按字典序排列的第一種路徑。dfs方法解決,由於是字典順序,所以搜尋方向要嚴格規定 本題錯了幾次,原因是memset沒有使用正確,此函式的第三個引數是按位元組的單位,所以陣列長度還要乘以sizeof type 160k 63ms c...

1219 騎士遊歷 解答

1219 騎士遊歷 題目描述 description 設有乙個n m的棋盤 2 n 50,2 m 50 如下圖,在棋盤上有乙個中國象棋馬。規定 1 馬只能走日字 2 馬只能向右跳 問給定起點x1,y1和終點x2,y2,求出馬從x1,y1出發到x2,y2的合法路徑條數。輸入描述 input descr...

codevs天梯 騎士遊歷

題目 設有乙個n m的棋盤 2 n 50,2 m 50 如下圖,在棋盤上有乙個中國象棋馬。規定 1 馬只能走日字 2 馬只能向右跳 問給定起點x1,y1和終點x2,y2,求出馬從x1,y1出發到x2,y2的合法路徑條數。分析 當初一開始是用dfs做的,現在一開始也想用dfs做。發現題目劃區是dp,就...