P1002 過河卒 (動態規劃 遞推)

2021-08-20 22:10:28 字數 1109 閱讀 6358

p1002 過河卒 (動態規劃+遞推)

題目描述

棋盤上a

a點有乙個過河卒,需要走到目標bb

點。卒行走的規則:可以向下、或者向右。同時在棋盤上cc

點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為

「馬攔過河卒」。

棋盤用座標表示,aa

點(0, 0)

(0,0)、b

b點(n, m)(n

,m)( 

nn, m

m為不超過

2020

的整數)

,同樣馬的位置座標是需要給出的。

現在要求你計算出卒從aa

點能夠到達bb

點的路徑的條數,假設馬的位置是固定不動的,並不是卒走一步馬走一步。

輸入輸出格式

輸入格式:

一行四個資料,分別表示bb

點座標和馬的座標。

輸出格式:

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

輸入輸出樣例

輸入樣例

#1:

複製6 6 3 3

輸出樣例

#1:複製6

說明

結果可能很大!

狀態轉移方程:

dp[i][j]=dp[i-1][j]+dp[i][j-1];
#include#includelong long a,b,n,m;

long long dp[22][22],map[23][23]; //map需要開大點qwq

using namespace std;

void mark(long long x,long long y) //標記馬的控制點

int main()

}printf("%lld",dp[n+1][m+1]);//整體向右下挪一下

return 0;

}

P1002 過河卒 動態規劃

傳送門 思路 搜尋tle了,只能dp了。dp i j dp i j 1 dp i 1 j 對於 點 i,j 只有 i,j 1 和 i 1,j 這兩種選擇,那麼可以推出狀態轉移方程 先定義dp 0 0 1 dp i j dp i 1 j dp i j 1 但如果這樣的話,以0,0為起點會出現點被覆蓋的...

洛谷P1002 過河卒(動態規劃 遞推)

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

P1002 過河卒(動態規劃dp法)

題目描述 棋盤上 aa 點有乙個過河卒,需要走到目標 bb 點。卒行走的規則 可以向下 或者向右。同時在棋盤上 cc 點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,aa 點 0,0 0,0 bb 點 n,m n,m 同樣馬的位置座標是...