過河卒 題解

2021-09-26 03:09:54 字數 804 閱讀 6109

以前碼的**。

#include #include using namespace std;

long long b[21][21];

int n,m,a,b;

void init()

}if(a-2>=0&&b-1>=0) //把馬的位置和所有馬能走到的位置都賦為0,注意考慮邊界

b[a-2][b-1]=0;

if(a-2>=0&&b+1<=m)

b[a-2][b+1]=0;

if(a-1>=0&&b-2>=0)

b[a-1][b-2]=0;

if(a-1>=0&&b+2<=m)

b[a-1][b+2]=0;

if(a+1<=m&&b-2>=0)

b[a+1][b-2]=0;

if(a+2<=n&&b-1>=0)

b[a+2][b-1]=0;

if(a+1<=n&&b+2<=m)

b[a+1][b+2]=0;

if(a+1<=n&&b+1<=m)

b[a+2][b+1]=0;

b[a][b]=0;

}int main()/*這裡就是處理所說的特殊情況,相當於如果在最上一行或者最左一行

出現乙個馬,那麼後面的值都賦為0

*/ else if (i==0)else if (j==0)else}}

}printf("%lld\n",b[n][m]);

return 0;

}

過河卒演算法

過河卒基本思想 利用動態規劃轉空間為時間,利用動態規劃一般方法,把資料記錄下來,同時走兩條路線,只要不重合就好 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 卒不能通過對方馬的...

過河卒 題目

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