數字三角形問題

2021-10-25 05:43:55 字數 1048 閱讀 4698

給定乙個由n行數字組成的數字三角形,如下:(如果是等腰三角形,轉化為如下直角三角形。演算法一樣)

7

3 8

8 1 0

2 7 4 4

4 5 2 6 5

設計乙個演算法,計算出從三角形的頂至底的一條路徑,使該路經經過的數字總和最大。(規定路線只能往下和往右)

輸入樣例

//第一行輸入三角形的總行數57

3881

0274

4452

65

輸出結果:

30
源**:

#include

#include

#define m 10

int map[m]

[m];

//輸入三角形數字並存到乙個二位陣列中

intscan_f

(int m)}}

//比較兩個數的大小函式,並返回最大的乙個數值

intmax

(int num1,

int num2)

//尋找過程函式。找出由頂至底行的乙個數字經過路經最大總和的值

//通過遞迴方式尋找。

//到達某個數字的最大路徑:當前數字的值(map[m][n]) 加上 能夠到達該數字的數(map[m-1][n]或map[m-1][n-1])最大路徑值,

//在(map[m-1][n])最大路徑值 和 (map[m-1][n-1])最大路徑值中找較大的乙個返回

intfindpass

(int m,

int n)

//此函式是為底行每乙個數字尋找一條路經的總和最大(從頂部到最底行的路經)

intfind

(int m)

return max;

}int

main()

數字三角形問題

數字三角形問題 標籤 動態規劃 雜談分類 演算法設計 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 出發時能得到...

數字三角形問題

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