棋盤上 a 點有乙個過河卒,需要走到目標 b 點。卒行走的規則:可以向下、或者向右。同時在棋盤上 c 點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為「馬攔過河卒」。
棋盤用座標表示,a 點 (0, 0)、b 點 (n, m),同樣馬的位置座標是需要給出的。
現在要求你計算出卒從 a 點能夠到達 b 點的路徑的條數,假設馬的位置是固定不動的,並不是卒走一步馬走一步。
一行四個正整數,分別表示 b 點座標和馬的座標。
乙個整數,表示所有的路徑條數。
輸入樣例
6 6 3 3
輸出樣例對於 100% 的資料,1 ≤ n,m ≤ 20,0 ≤ 馬的座標 ≤ 20。
設 dp[i][j] 為 a 點到 (i,j) 的路線數
根據題意就可以得到狀態轉移方程:
dp[1][0] = 1
dp[i][j] = dp[i-1][j] + dp[i][j-1]
而在搜尋馬可以到達的位置時,需要對它的橫縱座標進行減 2 處理,可能會導致下標越界,所以需要對每個點的橫縱座標進行加 2 處理。
#include
using
namespace std;
int xx[8]
=;int yy[8]
=;intmain()
for(
int i=
2;i<=x;i++)}
} cout<
[y]<
return0;
}
過河卒 遞推
description 如圖,a 點有乙個過河卒,需要走到目標 b 點。卒行走規則 可以向下 或者向右。同時在棋盤上的任一點有乙個對方的馬 如上圖的c點 該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。例如上圖 c 點上的馬可以控制 9 個點 圖中的p1,p2 p8 和 c 卒不能通過對方馬的...
遞推遞迴 L 馬攔過河卒
題目 description 棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a點 0,0 b點 n,m n,m為不超過15的整數 同樣馬的位置座...
C語言 遞推與遞迴 馬攔過河卒
馬攔過河卒 time limit 3000 ms memory limit 65536 kib problem description 棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因...