3 4 數字三角形問題

2022-05-20 19:51:09 字數 1019 閱讀 4580

´問題描述:

給定乙個由 n 行數字組成的數字三角形如下圖所示。試設計乙個演算法,計算出從三角形

的頂至底的一條路徑,使該路徑經過的數字總和最大。

73 8

8 1 0

2 7 4 4

4 5 2 6 5

´程式設計任務:

對於給定的由 n 行數字組成的數字三角形,程式設計計算從三角形的頂至底的路徑經過的數

字和的最大值。

´資料輸入:

由檔案 input.txt 提供輸入資料。檔案的第 1 行是數字三角形的行數 n,1£n£100。接下

來 n 行是數字三角形各行中的數字。所有數字在 0..99 之間。

´結果輸出:

程式執行結束時,將計算結果輸出到檔案 output.txt 中。檔案的第 1 行中的數是計算

出的最大值。

輸入檔案示例 輸出檔案示例

input.txt output.txt57

3 88 1 0

2 7 4 4

4 5 2 6 5

30【題解】

/* 設f[i][j]表示從(1,1)走到(i,j)的最大值

f[i][j] = max(f[i-1][j],f[i-1][j-1])+a[i][j];

*/【**】

#include #include #include #include using namespace std;

const int n = 100;

int f[n + 10][n + 10];

int n, a[n + 10][n + 10];

int main()

f[1][1] = a[1][1];

for (int i = 2; i <= n; i++)

} int ans = f[n][1];

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

cout << ans << endl;

return 0;

}

回檔 數字三角形3,4

描述 數字三角形必須經過某乙個點,使之走的路程和最大 輸入格式 第1行n,表示n行 25 第2到n 1行為每個的權值 第n 2行為兩個數x,y表示必須經過的點 輸出格式 乙個值,經過x,y的最大路 測試樣例1輸入2 11 1 1 1輸出2備註 各個測試點1s 題目分析 這道題我做的很暴力,直接把第x...

數字三角形問題

數字三角形問題 標籤 動態規劃 雜談分類 演算法設計 34 5 11 9 8 15 21 13 4 這是乙個數字三角形。請編乙個程式計算從頂至底的某處的一條路徑,使該路徑所經過的數字的總和最大。每一步可沿左斜線向下或右斜線向下走 1 三角形行數 200 三角形中的數字為整數0,1,99 輸入格式 第...

數字三角形問題

給定乙個由n行數字組成的數字三角形,設計乙個演算法,計算出從三角形的頂至底的一條路徑,使該路徑經過的數字總和最大。0,0 1,0 1,1 2,0 2,1 2,2 3,0 3,1 3,2 3,3 思路 動態規劃 動態方程 sum i,j a i,j max sum i,j 表示從 i,j 出發時能得到...