題目:
設有乙個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 ...