IOI 1994 數字三角形

2021-08-18 18:00:58 字數 1347 閱讀 7815

總時間限制: 1000ms 記憶體限制: 65536kb

描述

7

3 8

8 1 0

2 7 4 4

4 5 2 6 5

(圖1)

圖1給出了乙個數字三角形。從三角形的頂部到底部有很多條不同的路徑。對於每條路徑,把路徑上面的數加起來可以得到乙個和,你的任務就是找到最大的和。

輸入

輸入的是一行是乙個整數n(100>=n>=1),給出三角形的行數。下面的n行給出數字三角形。數字三角形上的數的範圍都在0和100之間。

輸出

輸出最大的和。

樣例輸入

5

73 8

8 1 0

2 7 4 4

4 5 2 6 5

樣例輸出

30

#includeusing namespace std;

int a[105][105],s;

int dfs(int i,int j)

int main()

),

o(2100

),超時。#includeusing namespace std;

int a[105][105],s,b[105][105];

int dfs(int i,int j)

int main()

} int maxx=-1;

for(int j=1;j<=s;j++)

maxx=max(maxx,a[s][j]);

cout《同樣,時間複雜度為o(n

2)

o(n^2)

o(n2

),通過 。

#includeusing namespace std;

int a[105][105],s;

int main()

{ cin>>s;

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

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

cin>>a[i][j];

for(int i=s-1;i>=1;i--)

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

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

cout《不用多說,時間複雜度也為o(n

2)

,o(n^2),

o(n2),

通過。

IOI 1994 數字三角形

總時間限制 1000ms 記憶體限制 65536kb 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 圖1 圖1給出了乙個數字三角形。從三角形的頂部到底部有很多條不同的路徑。對於每條路徑,把路徑上面的數加起來可以得到乙個和,你的任務就是找到最大的和。輸入 輸入的是一行是乙個整數n ...

數字三角形

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

數字三角形

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