如下圖所示有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,就...