洛谷 過河卒

2021-10-04 23:08:14 字數 1281 閱讀 8195

題目描述

棋盤上 aa 點有乙個過河卒,需要走到目標 bb 點。卒行走的規則:可以向下、或者向右。同時在棋盤上 cc 點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為「馬攔過河卒」。

棋盤用座標表示,aa 點 (0, 0)(0,0)、bb 點 (n, m)(n,m),同樣馬的位置座標是需要給出的。

現在要求你計算出卒從 aa 點能夠到達 bb 點的路徑的條數,假設馬的位置是固定不動的,並不是卒走一步馬走一步。

輸入格式

一行四個正整數,分別表示 bb 點座標和馬的座標。

輸出格式

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

輸入輸出樣例

輸入

6 6 3 3

輸出

6說明/提示

對於 100 %100% 的資料,1 \le n, m \le 201≤n,m≤20,0 \le0≤ 馬的座標 \le 20≤20。

**:

#include

#define ll longlong

int x,y,m,n;

long

long rount[21]

[21],control[21]

[21];

void

delete()

;void

delete()

//此路不通,請原路返回

if(m-

2>=0)

if(m+

1<=20)

if(m+

2>=0)

}int

main()

else rount[i]

[j]=rount[i-1]

[j]+rount[i]

[j-1];

if(control[i]

[j])rount[i]

[j]=0;

}}/* for(int i=0;i<=x;i++)

printf("\n");

} */

printf

("%lld"

,rount[x]

[y])

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