動態規劃練習一 09 移動路線

2021-07-30 11:22:04 字數 1121 閱讀 1474

描述

×桌子上有乙個m行n列的方格矩陣,將每個方格用座標表示,行座標從下到上依次遞增,列座標從左至右依次遞增,左下角方格的座標為(1,1),則右上角方格的座標為(m,n)。

小明是個調皮的孩子,一天他捉來乙隻螞蟻,不小心把螞蟻的右腳弄傷了,於是螞蟻只能向上或向右移動。小明把這只螞蟻放在左下角的方格中,螞蟻從

左下角的方格中移動到右上角的方格中,每步移動乙個方格。螞蟻始終在方格矩陣內移動,請計算出不同的移動路線的數目。

對於1行1列的方格矩陣,螞蟻原地移動,移動路線數為1;對於1行2列(或2行1列)的方格矩陣,螞蟻只需一次向右(或向上)移動,移動路線數也為1……對於乙個2行3列的方格矩陣,如下圖所示:

-------------------

|(2,1)|(2,2)|(2,3)|

-------------------

|(1,1)|(1,2)|(1,3)|

-------------------

螞蟻共有3種移動路線:

路線1:(1,1) → (1,2) → (1,3) → (2,3)

路線2:(1,1) → (1,2) → (2,2) → (2,3)

路線3:(1,1) → (2,1) → (2,2) → (2,3)

輸入輸入只有一行,包括兩個整數m和n(0輸出

輸出只有一行,為不同的移動路線的數目。

樣例輸入

2 3

樣例輸出

3

這道題為遞推問題,遞推公式為f[i][j]=f[i-1][j]+f[i][j-1],f[i][j]表示到螞蟻到第i行第j列所有可以走的路徑數。

源**如下:

#include

using namespace std;

int main()

{ int n,m,a[21][21],i,j;

cin>>n>>m;

for(i=0;i

需要注意的是第一行跟第一列都應初始劃為1,然後從第二行第二列開始搜尋,可以避免陣列越界。

動態規劃練習09 移動路線

題目簡要 描述 桌子上有乙個m行n列的方格矩陣,將每個方格用座標表示,行座標從下到上依次遞增,列座標從左至右依次遞增,左下角方格的座標為 1,1 則右上角方格的座標為 m,n 小明是個調皮的孩子,一天他捉來乙隻螞蟻,不小心把螞蟻的右腳弄傷了,於是螞蟻只能向上或向右移動。小明把這只螞蟻放在左下角的方格...

動態規劃練習 移動路線

題目要求 桌子上有乙個m行n列的方格矩陣,將每個方格用座標表示,行座標從下到上依次遞增,列座標從左至右依次遞增,左下角方格的座標為 1,1 則右上角方格的座標為 m,n 小明是個調皮的孩子,一天他捉來乙隻螞蟻,不小心把螞蟻的右腳弄傷了,於是螞蟻只能向上或向右移動。小明把這只螞蟻放在左下角的方格中,螞...

09 移動路線

描述 桌子上有乙個m行n列的方格矩陣,將每個方格用座標表示,行座標從下到上依次遞增,列座標從左至右依次遞增,左下角方格的座標為 1,1 則右上角方格的座標為 m,n 小明是個調皮的孩子,一天他捉來乙隻螞蟻,不小心把螞蟻的右腳弄傷了,於是螞蟻只能向上或向右移動。小明把這只螞蟻放在左下角的方格中,螞蟻從...