數字三角形
問題描述
7 3 8
8 1 0
2 7 4 4
4 5 2 6 5
上圖給出了乙個數字三角形。從三角形的頂部到底部有很多條不同的路徑。對於每條路
徑,把路徑上面的數加起來可以得到乙個和,和最大的路徑稱為最佳路徑。你的任務就是求
出最佳路徑上的數字之和。
輸入資料
輸入的第一行是乙個整數 n (1 < n <= 100),給出三角形的行數。下面的 n行給出數字
三角形。數字三角形上的數的範圍都在 0和 100之間。
輸出要求
輸出最大的和。
輸入樣例
5 7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
輸出樣例
30 思路:因為對於乙個點的話,他只能向下或者向右去走,那麼dp陣列存的一定要是從某個點到這個點的最大值。因為是倒三角,如果從上往下dp的話,不太好處理,所以從下往上dp,
**:#include
#include
using namespace std;
int main()
for(j=1;j<=n;j++)
dp[n][j]=a[n][j];
for(i=n-1;i>=1;i--)
}printf("%d\n",dp[1][1]);
}
數字三角形 動態規劃基礎
問題描述 圖 示出了乙個數字三角形。請編乙個程式計算從頂至底的某處的一條路 徑,使該路徑所經過的數字的總和最大。每一步可沿左斜線向下或右斜線向下走 1 三角形行數 100 三角形中的數字為整數0,1,99 圖 輸入格式 檔案中首先讀到的是三角形的行數。接下來描述整個三角形 輸出格式 最大總和 整數 ...
動態規劃 數字三角形
如圖所示的數字三角形,從頂部出發,在每一結點可以選擇向左走或得向右走,一直走到底層,要求找出一條路徑,使路徑上的值最大。第一行是數塔層數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 三角形行數。下面是三...