洛谷 P1002 過河卒

2022-03-20 06:09:49 字數 835 閱讀 3845

題目傳送門

棋盤上aa點有乙個過河卒,需要走到目標bb點。卒行走的規則:可以向下、或者向右。同時在棋盤上cc點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為「馬攔過河卒」。

棋盤用座標表示,aa點(0, 0)(0,0)、bb點(n, m)(n,m)(nn, mm為不超過2020的整數),同樣馬的位置座標是需要給出的。

現在要求你計算出卒從aa點能夠到達bb點的路徑的條數,假設馬的位置是固定不動的,並不是卒走一步馬走一步。

一行四個資料,分別表示bb點座標和馬的座標。

乙個資料,表示所有的路徑條數。

輸入 #1複製

輸出 #1複製

結果可能很大!

這是一道遞推的典型題目。

我們很容易看出來,這道題的轉移方程就是dp[i] [j]=dp[i-1] [j]+dp[i] [j-1];

但是這道題的細節坑死爹。

首先開long long。

其次,要多開至少3位的陣列。

為了處理防越界,我們把n,m,x,y都+2.

最後我們還要特殊處理i= =2和j= =2時候的遞推。

總之就是,60分很容易,100分比較難。

**:

#include#define ll long long

using namespace std;

ll dp[25][25];

int n,m,x,y;

int main()

printf("%lld",dp[n][m]);

return 0;

}

洛谷 P1002 過河卒

棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a點 0,0 b點 n,m n,m為不超過20的整數 同樣馬的位置座標是需要給出的。現在要求你計算...

洛谷P1002過河卒

dp水題,我都會做 我們考慮地圖上i,j的位置可以怎麼過來,因為卒只能向下或向右,所以當前位置只能由它的上方或左方轉移過來,所以f i j f i 1 j f i j 1 然後考慮邊界情況,沿著上沿和左沿只能向乙個方向走,所以f i 0 0,f 0 i 0,這是不考慮有馬的情況,當馬加入圖中後,我們...

洛谷 P1002 過河卒

棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a點 0,0 b點 n,m n,m為不超過20的整數 同樣馬的位置座標是需要給出的。現在要求你計算...