洛谷P1002過河卒

2021-08-21 01:25:08 字數 619 閱讀 4599

dp水題,我都會做

我們考慮地圖上i,j的位置可以怎麼過來,因為卒只能向下或向右,所以當前位置只能由它的上方或左方轉移過來,所以f[i][j]=f[i-1][j]+f[i][j-1],然後考慮邊界情況,沿著上沿和左沿只能向乙個方向走,所以f[i][0]=0,f[0][i]=0,這是不考慮有馬的情況,當馬加入圖中後,我們要處理兩種情況

1.馬的活動範圍不包括邊緣,當馬的活動範圍不包括邊緣時,我們只需要考慮當前點是不是馬的活動範圍再轉移就好

2.馬的活動範圍包括邊緣,我們發現,當乙個點(i,0)或(0,i)在馬的活動範圍內時,i之後的(i+1~x,0)和(0,i+1~y)都不能走,所以方案數為0

**

#include#include#include#include#includeusing namespace std;

const int m=30;

long long int f[m][m];

int x,x2,y2,y;

bool jud(int sx,int sy)

,,,,,,,,};

for (int i=0;i<=8;i++)

return 1;

}int main()

洛谷 P1002 過河卒

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

洛谷 P1002 過河卒

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

洛谷P1002 過河卒

題目就不介紹了,自己找找就行了,應該比較容易找到。看到a點和b點的座標範圍就可以求出陣列的行列範圍了 用來儲存每乙個點到達點b的路徑數 為防止馬的攔截點跑出去,需要將出發點a 0,0 轉化為陣列中的 1,1 這個時候要稍微調整遍歷範圍,記得要開到23格。由於資料可能較大,陣列型別用long long...