馬蘭過河卒問題

2021-08-19 17:10:29 字數 573 閱讀 2351

大體意思就是給你圖的大小,給你乙個棋子,一次只能往下走一步或者往右走一步,還有一些點是不能走的,然後讓你輸出從0.0這個點到達對角線上的點

的路徑數。

具體思路:首先講不能走的點單獨標記出來,然後採用遍歷的方法求出從第乙個點到最後乙個點的路徑數。

#include

using namespace std;

int main()

;int my[8]= ;//首先將被控制的點單獨標記出來

int n,m,t1,t2;

cin>>n>>m>>t1>>t2;

memset(a,0,sizeof(a));

memset(f,0,sizeof(f));//清空陣列

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

a[t1][t2]=1;//這個地方一定要注意,不是定義a[n][m]為1,而是定義  a[t1][t2]=1,馬的起始位置也不能走

f[0][0]=1;

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

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

cout

}

馬蘭過河卒

二 設計思想 首先將所有點設定為可通行,將控制點設定為不可通行。因為只可以向下或者向右行走,所以要想到達目標點只需要到達其左邊的點或者上邊的點,以此類推,計算從起點到達中間任何乙個點的路徑條數,並用陣列tripnum儲存到達這個點的路徑條數。三 include include using names...

經典過河卒問題

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

過河卒演算法

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