動態規劃 數字三角形問題

2021-07-26 03:44:55 字數 2614 閱讀 6925

數字三角形問題

time limit: 1000ms memory limit: 65536kb

problem description

給定乙個由n行數字組成的數字三角形如下圖所示。試設計乙個演算法,計算出從三角形的頂至底的一條路徑,使該路徑經過的數字總和最大。

對於給定的由n行數字組成的數字三角形,計算從三角形的頂至底的路徑經過的數字和的最大值。

input

輸入資料的第1行是數字三角形的行數n,1≤n≤100。接下來n行是數字三角形各行中的數字。所有數字在0..99之間。

output

輸出資料只有乙個整數,表示計算出的最大值。

example input

5 7

3 8

8 1 0

2 7 4 4

4 5 2 6 5

example output

hint

動態規劃 /(全域性陣列 全域性變數 函式 define)

author

#include 

#define max(a, b) (a > b)? a: b//define的靈活應用

int a[104][104], n;//定義全域性陣列和全域性變數

void sca()

}i = n-1;

max1 = a[i][0];

for(j = 1; j < n; j++)

printf("%d\n", max1);

}int main()

//不夠簡潔仍需規範步驟

/*****

*****

*****

*****

*****

*****

*****

*****

*****

******

user name: jk160630

result: accepted

take time: 0ms

take memory: 148kb

submit time: 2017-01-16 09:20:07

*****

*****

*****

*****

*****

*****

*****

*****

*****

*******/

/*****

*****

*****

*****

*****

*****

*****

*****

*****

******

user name: jk160630

result: wrong answer

take time: 0ms

take memory: 120kb

submit time: 2017-01-16 10:31:25

*****

*****

*****

*****

*****

*****

*****

*****

*****

*******/

#include

#define max(a, b) (a > b)? a: b

int a[104][104], d[104][104], n;

void sca();

int main()

void sca()

}for(i = n-1; i >= 0; i--)}}

printf("%d\n", a[0][0]);

}

/*****

*****

*****

*****

*****

*****

*****

*****

*****

******

user name: jk160630

result: accepted

take time: 0ms

take memory: 196kb

submit time: 2017-01-16 10:40:53

*****

*****

*****

*****

*****

*****

*****

*****

*****

*******/

#include

#define max(a, b) (a > b)? a: b

int a[104][104], d[104][104], n;

void sca();

int main()

void sca()

}for(i = n-1; i >= 0; i--)}}

printf("%d\n", a[0][0]);

}//動態規劃 / (自底而上)

動態規劃 數字三角形問題

有乙個由非負整數組成的三角形,第一行只有乙個數,除了最下行之外每個數的左下方和右下方各有乙個數.3 24 10 1 4 3 2 20 從第一行的數開始,每次可以往左下或右下走一格,直到走到最下行,把沿途經過的數全部加起來,如何走才能使得這個和盡量大?輸入 三角形的行數n,數字三角形的各個數 從上到下...

動態規劃 數字三角形問題

problem description 給定乙個由n行數字組成的數字三角形如下圖所示。試設計乙個演算法,計算出從三角形的頂至底的一條路徑,使該路徑經過的數字總和最大。對於給定的由n行數字組成的數字三角形,計算從三角形的頂至底的路徑經過的數字和的最大值。input 輸入資料的第1行是數字三角形的行數n...

數字三角形問題(動態規劃)

description 下圖給出了乙個數字三角形,請編寫乙個程式,計算從頂至底的某處的一條路徑,使該路徑所經過的數字和最大 input 有很多個測試案例,對於每乙個測試案例,通過鍵盤逐行輸入,第1行是輸入整數 如果該整數是0,就表示結束,不需要再處理 表示三角形行數n,然後是n行數 output 輸...