遞推之馬攔過河卒

2021-08-17 05:21:19 字數 1017 閱讀 6952

馬攔過河卒

time limit: 3000 ms memory limit: 65536 kib

submit statistic discuss

problem 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

hint

source

think都在**裡了

#include 

#include

#include

int main()

else

break;//邊界上的數如果不是馬的控制點,那麼路徑數就是1,

//如果是馬的控制點,那此點包括邊界上以後的點就都不是1,因為在邊界上沒有其他的路徑可以到達這裡了,

//來的路被馬攔截了

}for(i=1;i<=m;i++)

else

break;//這兩部分賦初值的時候,為什麼是從1~n

}//或者從1~m,因為這裡就不再是陣列的規定了,看一下我們最後輸出的是第n行,m列,所以就是g[n][m],這樣就可以明白了,當y=0的時候表示邊界類似於y軸,1~n表示每一行的數,同理,x=0也是一樣的,下面的也是這樣理解

for(i=1;i<=n;i++)}}

printf("%d\n",g[n][m]);

return

0;}

馬攔過河卒問題 (遞推解法)

過河卒 noip2002初中組複賽第四題 問題描述 棋盤上a點有乙個過河卒,需要走到目標b點。卒行走的規則 可以向下或向右。同時在棋盤上的任一點有乙個對方的馬 如圖中的c點 該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。例如圖中c點上的馬可以控制9個點。卒不能走到對方馬的控制點。棋盤用座標表...

遞推遞迴 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的整數 同樣馬的位置座標是需要...