如下所示的由正整數數字構成的三角形:
7 3 8
8 1 0
2 7 4 4
4 5 2 6 5
從三角形的頂部到底部有很多條不同的路徑。對於每條路徑,把路徑上面的數加起來可以得到乙個和,和最大的路徑稱為最佳路徑。你的任務就是求出最佳路徑上的數字之和。
注意:路徑上的每一步只能從乙個數走到下一層上和它最近的下邊(正下方)的數或者右邊(右下方)的數。
輸入第一行為三角形高度100>=h>=1,同時也是最底層邊的數字的數目。
從第二行開始,每行為三角形相應行的數字,中間用空格分隔。
輸出最佳路徑的長度數值。
樣例輸入
573 8
8 1 0
2 7 4 4
4 5 2 6 5或1
8
樣例輸出
30或8
提示如何採用動態規劃的思想,對問題進行分解。
#include
using
namespace std
;int
main
()for
(i =b
-1;i >=0;i
--)}cout
<[0][0
];}求倒數第一行和倒數第二行的和取最大值,依次遞推
動態規劃 2 1
public intcrosssum int nums,int left,int righ,int p int rightsubsum integer.min value currsum 0 for int i p 1 i i return leftsubsum rightsubsum public...
21th 動態規劃 路面修整
fj打算好好修一下農場中某條凹凸不平的土路。按奶牛們的要求,修好後的路面高度應當上公升或下降,也就是說,高度上公升與高度下降的路不能同時出現在修好的路中。整條路被分成了n段,n個整數a 1,a n 依次描述了每一段路的高度。fj希望找到乙個恰好含n個元素的不上公升或不下降序列b 1,b n,作為修過...
動態規劃 什麼是動態規劃?
先來看看 資訊學奧賽一本通第5版 是怎麼說的 動態規劃程式設計是對解最優化問題的一種途徑 一種方法,而不是一種特殊演算法。不像前面所述的那些搜尋或數值計算那樣,具有乙個標準的數學表示式和明確清晰的解題方法。動態規劃程式設計往往是針對一種最優化問題,由於各種問題的性質不同,確定最優解的條件也互不相同,...