遞迴 動態規劃 POJ數字三角形

2021-10-04 05:33:34 字數 1222 閱讀 9575

遞迴/動態規劃:poj數字三角形

問題描述:

7

3 88 1 0

2 7 4 4

4 5 2 6 5

(圖1)

從三角形的頂部到底部有很多條不同的路徑。對於每條路徑,把路徑上面的數加起來可以得到乙個和,你的任務就是找到最大的和。

輸入

輸入的是一行是乙個整數n (1 < n <= 100),給出三角形的行數。下面的n行給出數字三角形。數字三角形上的數的範圍都在0和100之間。

輸出

輸出最大的和。

樣例輸入

5

73 8

8 1 0

2 7 4 4

4 5 2 6 5

樣例輸出

30

/**********

poj:數字三角形

該方法為有記憶的遞迴演算法

***********/

#includeusing namespace std;

int tri[101][101]=;

int tri_mask[101][101];

int n;

int max_path(int i, int j)

if(i==n)

else

return tri_mask[i][j];

}int main()

}cout << max_path(1, 1);

return 0;

}

/**********

poj:數字三角形

該方法為動態規劃解法

***********/

#includeusing namespace std;

int tri[101][101]=;

int tri_max[101];

int n;

int main()

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

for(int i=n-1;i>=1;i--)

}cout << tri_max[1] << endl;

return 0;

}

數字三角形 動態規劃與遞迴

問題描述 73 8 8 1 0 2 7 4 4 4 5 2 6 5 上圖給出了乙個數字三角形。從三角形的頂部到底部有很多條不同的路徑。對於每條路 徑,把路徑上面的數加起來可以得到乙個和,和最大的路徑稱為最佳路徑。你的任務就是求 出最佳路徑上的數字之和。注意 路徑上的每一步只能從乙個數走到下一層上和它...

動態規劃 數字三角形

如圖所示的數字三角形,從頂部出發,在每一結點可以選擇向左走或得向右走,一直走到底層,要求找出一條路徑,使路徑上的值最大。第一行是數塔層數n 1 n 100 第二行起,按數塔圖形,有乙個或多個的整數,表示該層節點的值,共有n行。輸出最大值。5 1311 8 12 7 26 6 14 15 8 12 7...

動態規劃 數字三角形

7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的數字三角形中尋找一條從頂部到底邊的路徑,使得 路徑上所經過的數字之和最大。路徑上的每一步都只能往左下或 右下走。只需要求出這個最大和即可,不必給出具體路徑。三角形的行數大於1小於等於100,數字為 0 99 5 三角形行數。下面是三...