經典過河卒問題

2022-07-15 12:42:08 字數 802 閱讀 4823

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

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

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

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

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

輸入6 6 3 3輸出6

1 #include2 #include3 #include4 #include5

using

namespace

std;

6long

long a[250][250];7

intn;

8intm;9

intx,y;

10bool f[250][250]=;

11int

main()

28for(int j=0;j<=m;j++)

32for(int i=1;i<=n;i++)38}

39/*

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

43cout<44}*/

45 cout

46return0;

47 }

**僅供學習使用,嚴禁商用,違者必究

馬蘭過河卒問題

大體意思就是給你圖的大小,給你乙個棋子,一次只能往下走一步或者往右走一步,還有一些點是不能走的,然後讓你輸出從0.0這個點到達對角線上的點 的路徑數。具體思路 首先講不能走的點單獨標記出來,然後採用遍歷的方法求出從第乙個點到最後乙個點的路徑數。include using namespace std ...

過河卒演算法

過河卒基本思想 利用動態規劃轉空間為時間,利用動態規劃一般方法,把資料記錄下來,同時走兩條路線,只要不重合就好 include include include include define maxx a,b,c,d max max a,b max c,d using namespace std in...

過河卒 遞推

description 如圖,a 點有乙個過河卒,需要走到目標 b 點。卒行走規則 可以向下 或者向右。同時在棋盤上的任一點有乙個對方的馬 如上圖的c點 該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。例如上圖 c 點上的馬可以控制 9 個點 圖中的p1,p2 p8 和 c 卒不能通過對方馬的...