在下面的數字三角形中尋找一條從頂部到底邊的路徑,使得路徑上所經過的數字之和最大。路徑上的每一步都只能往左下或 右下走。只需要求出這個最大和即可,不必給出具體路徑。 三角形的行數大於1小於等於100,數字為 0 - 99
輸入格式:
5 //表示三角形的行數 接下來輸入三角形
3 8
8 1 0
2 7 4 4
4 5 2 6 5
要求輸出最大和
#include #include #define max 122
int d[max][max];
int n;
int maxsum[max][max];
// 遞迴
int maxsum(int i,int j)
return maxsum[i][j];
}// 動態規劃
int maxsum1(int i,int j)
int ii,jj;
for (ii = n - 1;ii >= 1;-- ii)
for (jj = 1;jj <= ii;++ jj)
return maxsum[i][j];
}// 優化上演算法,將空間從二維優化到一維
int maxsum2(int i,int j) }
return maxsum1[1] > maxsum1[2] ? maxsum1[1] : maxsum1[2];
}int main()
} printf("%d",maxsum2(1,1));
return 0;
}
三角形最大和問題
三角形最大和問題 time limit 1000ms memory limit 65536k total submit 79 accepted 22 description 現在經常有一些數學問題困擾著小明。有如下乙個三角形,73 8 8 1 0 2 7 4 4 4 5 2 6 5 小明想求出從頂至...
數字三角形
題目描述 示出了乙個數字三角形。請編乙個程式計算從頂至底的某處的一條路 徑,使該路徑所經過的數字的總和最大。每一步可沿左斜線向下或右斜線向下走 1 三角形行數 25 三角形中的數字為整數 1000 輸入第一行為n,表示有n行 後面n行表示三角形每條路的路徑權 輸出路徑所經過的數字的總和最大的答案 樣...
數字三角形
description 有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?input 輸入資料首先包括乙個整數c,表示測試例項的個數,每個測試例項的第一行是乙個整數n 1 n 100 表示數塔的高度,接下來用n行數字表示數塔,其中第i行有個i個整數,...