洛谷P1002 過河卒 DP

2021-10-03 11:18:25 字數 675 閱讀 9134

不需要搜尋,很容易就能求出轉移方程。f[i][j]從兩個方向即f[i - 1][j]和f[i][j - 1]轉移過來,但是要注意邊界情況,因為下標從0開始會有負數的情況,所以f整個平移一位,f[1][1]可以從f[1][0]轉移過來。

另外注意馬所在的位置也需要被標記。結果很大要開long long。

#include

using

namespace std;

const

int n =30;

int dx=

;int dy=

;long

long f[n]

[n];

int g[n]

[n], n, m, x, y;

intmain()

f[1]

[0]=

1;for(

int i =

1; i <= n +

1; i++

)for

(int j =

1; j <= m +

1; j++)

cout<

[m +1]

;return0;

}

洛谷P1002過河卒(dp)

第一次自己做出了一道簡單dp題目,發篇部落格紀念一下哈啊哈哈 思路 先找到狀態轉移方程,根據dp定義,把大問題所求變成乙個個子問題,我要知道某個位置的路徑數目,那麼我要知道,到達這個位置之前每乙個位置能有多少種方法到達,那麼我每乙個位置的路徑數目與上乙個位置的路徑數目有關 上乙個位置無非是左邊一點和...

洛谷 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,這是不考慮有馬的情況,當馬加入圖中後,我們...