codevs天梯 騎士遊歷

2021-07-26 11:52:09 字數 834 閱讀 5608

題目:

設有乙個n*m的棋盤(2≤n≤50,2

≤m≤50

),如下圖,在棋盤上有乙個中國象棋馬。

規定:1)馬只能走日字

2)馬只能向右跳

問給定起點x1,y1和終點x2,y2,求出馬從x1,y1出發到x2,y2的合法路徑條數。

分析:當初一開始是用dfs做的,現在一開始也想用dfs做。。。發現題目劃區是dp,就用dp做了。。因為做過而且有印象可以很快做出的。

**:const

dx:array[1..4] of longint=(-1, -2, -2, -1);

dy:array[1..4] of longint=(2, 1, -1, -2);

maxn=50;

varf:array[-maxn..maxn, -maxn..maxn] of int64;

x1,y1,x2,y2,n,m:longint;

procedure init;

begin

readln(n, m);

readln(x1,y1,x2,y2);

end;

procedure main;

vari,j,k:longint;

begin

f[x1,y1]:=1;

for i:=x1 to x2 do

for j:=1 to m do

for k:=1 to 4 do

inc(f[i,j],f[i+dx[k],j+dy[k]]);

write(f[x2,y2]);

end;

begin

init;

main;

end.

1219 騎士遊歷 解答

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

DP 騎士遊歷IV

如下圖所示有m n n,m 100 乙個棋盤,在棋盤左下角的a 1,1 點,有乙個中國象棋 馬 並約定馬走的規則 走日字 只能向右走。如圖所示,圖中有一障礙區域,不能通過,問從左下角到右上角有多種不同的方法。第一行 棋盤大小 第二行 前兩個數為障礙區域的左下角從標,後兩個數為右上角座標 總共有多少方...

dfs 騎士遊歷I

如下圖所示有m n n,m 15 乙個棋盤,在棋盤左下角的a 1,1 點,有乙個中國象棋 馬 並約定馬走的規則 走日字 只能向右走。兩個數,n,m 最少步數 9 810 include include include using namespace std const int dx 5 const ...