棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則:可以向下、或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為「馬攔過河卒」。
棋盤用座標表示,a點(0, 0)、b點(n, m)(n, m為不超過20的整數),同樣馬的位置座標是需要給出的。
現在要求你計算出卒從a點能夠到達b點的路徑的條數,假設馬的位置是固定不動的,並不是卒走一步馬走一步。
輸入格式:
一行四個資料,分別表示b點座標和馬的座標。
輸出格式:
乙個資料,表示所有的路徑條數。
輸入樣例#1:
6 6 3 3
輸出樣例#1:
6
結果可能很大!
思路:搜尋超時穩穩的
遞推ac穩穩的
來,上**:
#includeusingnamespace
std;
const
int dx[9]=;
const
int dy[9]=;
long
long
int dp[50][50
];int
n,m,hx,hy;
bool map[50][50
];int
main()
}map[hx+1][hy+1]=true
; dp[
1][1]=1
;
for(int i=1;i<=n+1;i++)
}printf(
"%lld\n
",dp[n+1][m+1
]);
return0;
}
洛谷 1002 過河卒
棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a點 0,0 b點 n,m n,m為不超過20的整數 同樣馬的位置座標是需要給出的。現在要求你計算...
洛谷 1002 過河卒
雖然這道題目的標籤上有高精,但是用long long int就能ac 看到普及 的難度,本蒟蒻二話不說寫了dfs,結果.只拿了40分,只好改變思路寫了遞推 個人認為dp 遞推 dfs 未ac,無注釋 includeusing namespace std intmx,my,ex,ey bool v 2...
洛谷1002 過河卒
棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下 或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為 馬攔過河卒 棋盤用座標表示,a點 0,0 b點 n,m n,m為不超過20的整數 同樣馬的位置座標是需要給出的。現在要求你計算...