´問題描述:
給定乙個由 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 出發時能得到...