題目要求:
×桌子上有乙個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)
題目思路:
設a[i][j]代表螞蟻走到第(i,j)點的移動路線種數,狀態轉移方程 a[i][j]=a[i-1][j]+a[i][j-1]。邊界值a[i][1]=1,a[1][j]=1。輸出a[m][n]即為移動到(m,n)點的移動路線種數。
#include
using
namespace std;
intmain
() cout
}
感悟:水題。。。 動態規劃練習09 移動路線
題目簡要 描述 桌子上有乙個m行n列的方格矩陣,將每個方格用座標表示,行座標從下到上依次遞增,列座標從左至右依次遞增,左下角方格的座標為 1,1 則右上角方格的座標為 m,n 小明是個調皮的孩子,一天他捉來乙隻螞蟻,不小心把螞蟻的右腳弄傷了,於是螞蟻只能向上或向右移動。小明把這只螞蟻放在左下角的方格...
動態規劃練習一 09 移動路線
描述 桌子上有乙個m行n列的方格矩陣,將每個方格用座標表示,行座標從下到上依次遞增,列座標從左至右依次遞增,左下角方格的座標為 1,1 則右上角方格的座標為 m,n 小明是個調皮的孩子,一天他捉來乙隻螞蟻,不小心把螞蟻的右腳弄傷了,於是螞蟻只能向上或向右移動。小明把這只螞蟻放在左下角的方格中,螞蟻從...
動態規劃3 移動路線
描述 桌子上有乙個m行n列的方格矩陣,將每個方格用座標表示,行座標從下到上依次遞增,列座標從左至右依次遞增,左下角方格的座標為 1,1 則右上角方格的座標為 m,n 小明是個調皮的孩子,一天他捉來乙隻螞蟻,不小心把螞蟻的右腳弄傷了,於是螞蟻只能向上或向右移動。小明把這只螞蟻放在左下角的方格中,螞蟻從...