洛谷 P1002 過河卒(rush B)

2021-10-25 15:24:35 字數 771 閱讀 5103

原題鏈結

對於任意乙個可以行走的格仔,路徑條數 = 上面的格仔路徑條數+左邊的條數

(因為rush b不能走回頭路,只能往下、右,所以任意的格仔的前乙個格仔,只能是上面或左邊,加起來就是可以用於rush的路徑數量)

特殊處理一下,馬狙盯住的位置不能rush

還有的就是要注意 int 裝不下結果,要用 long long

rush b**

時 間復

雜度o(

n2

)時間複雜度o(n^2)

時間複雜度o

(n2)

//#define local 1

#include

long

long map[30]

[30];

int b_x, b_y;

//b點座標

int ho_x, ho_y;

//馬的座標 horse

inline

long

long

relu

(long

long n)

void

rush_b()

if(j -

1>=0)

}}void

unreachable_marking()

;int sign=

;for

(int i =

0; i <

2; i++)}

}int

main()

洛谷 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的整數 同樣馬的位置座標是需要給出的。現在要求你計算...