數字三角形(SDUToj 1730)

2022-09-20 03:24:13 字數 818 閱讀 4767

= =聽說是最水的動態規劃,不過還是研究了挺長時間的,現在已經能熟練的做這類動規題了。大體思路就是每次第一次計算出maxsum(i,j)的值時,把該值儲存起來,以後再遇到maxsum(i.j)時直接取出之前第一次呼叫時已經存放的值即可,不必再次呼叫maxsum函式作遞迴計算。這樣每個maxsum(i,j)都只需要計算一次,計算次數為數字三角形中的數字總數。因此,不需要寫遞迴函式,從第n-1行開始向上逐行遞推,就可以求得a[1][1]的值。

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

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

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

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

5

73 8

8 1 0

2 7 4 4

4 5 2 6 5

30

#include #define max 110

intd[max][max];

inta[max][max];

intn;

intmain()

}for(j=1;j)

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

else}}

printf(

"%d\n

",a[1][1

]);

return0;

}

1730 數字三角形問題

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

數字三角形

題目描述 示出了乙個數字三角形。請編乙個程式計算從頂至底的某處的一條路 徑,使該路徑所經過的數字的總和最大。每一步可沿左斜線向下或右斜線向下走 1 三角形行數 25 三角形中的數字為整數 1000 輸入第一行為n,表示有n行 後面n行表示三角形每條路的路徑權 輸出路徑所經過的數字的總和最大的答案 樣...

數字三角形

description 有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?input 輸入資料首先包括乙個整數c,表示測試例項的個數,每個測試例項的第一行是乙個整數n 1 n 100 表示數塔的高度,接下來用n行數字表示數塔,其中第i行有個i個整數,...