L 馬攔過河卒

2021-07-29 15:43:03 字數 1279 閱讀 5732

description

棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則:可以向下、或者向右。同時在棋盤上c點有乙個對方的馬,該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。因此稱之為「馬攔過河卒」。棋盤用座標表示,a點(0,0)、b點(n,m)(n,m為不超過15的整數),同樣馬的位置座標是需要給出的。現在要求你計算出卒從a點能夠到達b點的路徑的條數,假設馬的位置是固定不動的,並不是卒走一步馬走一步。

input

一行四個資料,用空格分隔,分別表示b點的座標和馬的座標。

output

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

sample input

6 6 3 3

sample output

6解題思路:

將馬所在點的值設為0,代表路徑不通,其餘值為1,對於(i,j)它的路徑數是左邊和上邊路徑之和

細節處理:

本來想用陣列處理馬所在點,不知為什麼,一直不過,只好每個點處理,還有就是邊界點的處理情況

錯誤**如下:

#includeusing namespace std;

int ok(int a,int b,int i,int j)

int main()

; int kj[9]=;

cin>>a>>b>>c>>d;

int x[20][20];

int i,j;

for(i=0;i<17;i++)

for(j=0;j<17;j++)

i=c; j=d;

for(int r=0;r<=8;i++)

for(i=0;i<=a;i++)

for(j=0;j<=b;j++)

}cout<

**:#includeusing namespace std;

int main()

; //int kj[10]=;

cin>>a>>b>>c>>d;

int x[20][20];

int i,j;

for(i=0;i<17;i++)

for(j=0;j<17;j++)

x[c][d]=0; x[c-1][d-2]=0;

x[c-2][d-1]=0;

x[c-2][d+1]=0; x[c-1][d+2]=0;

x[c+1][d-2]=0; x[c+2][d-1]=0;

x[c+1][d+2]=0; x[c+2][d+1]=0;

for(i=0;i<=a;i++)

for(j=0;j<=b;j++)

}cout<

L 馬攔過河卒

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

馬攔過河卒

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

馬攔過河卒

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