(笔试题)路径走法
題目:
在如下8*6的矩陣中,請計算從A移動到B一共有____種走法。要求每次只能向上或向右移動一格,并且不能經過P。 ?- 456
- 492
- 568
- 626
- 680
- 702
思路:
1、組合數學
在8*6的矩陣,從左下角A到右上角B,一共需要走12步,其中5步向上,7步向右, 因此總的走法一共有C(12,5)=792種 但題目規定不能經過P,因此需要減去經過P點的走法。 經過P的路徑分為兩部分,從A到P,從P到B。 同理,從A到P的走法:C(6,2)=15; 同理,從P到B的走法:C(6,3)=20; 因此從A到B經過P點的走法有15*20=300種, 所以從A到B不經過P點的走法有792-300=492種。 2、動態規劃 假設dp[i][j]表示從[0,0]到[i,j]坐標點的路徑走法, 則狀態轉移方程為: dp[i][j]=dp[i-1][j]+dp[i][j-1] 初始狀態: i=0,dp[i][j]=1; j=0,dp[i][j]=1; 因此只要計算A到B的路徑走法Total,然后計算A到P的路徑走法T1和P到B的路徑走法T2, 則從A到B不經過P點的走法有Total-T1*T2種。轉載于:https://www.cnblogs.com/AndyJee/p/4755931.html
總結
- 上一篇: Js计算间隔天数和Date对象
- 下一篇: 我的第一份vim程序