




```
#include<iostream>
using namespace std;
const int n = 5;
int path[n][n];
int maxAdd(int arr[][n],int n)
{
int maxAdd[n][n];
for(int i = 0; i < n; i++)
{
maxAdd[n - 1][i] = arr[n - 1][i];
}
for(int i = n - 2; i >= 0; i--)
{
for(int j = 0; j <= i; j++)
{
maxAdd[i][j] = arr[i][j] + max(maxAdd[i + 1][j],maxAdd[i + 1][j + 1]);
if(maxAdd[i + 1][j] >= maxAdd[i + 1][j + 1])path[i][j] = j + 1;
else path[i][j] = j + 2;
}
}
return maxAdd[0][0];
}
int main()
{
int d[n][n] = {{8},{12,6},{3,9,4},{6,5,7,8},{1,2,3,4,5}};
cout<<maxAdd(d,n)<<endl<<endl;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < i + 1; j++)
{
if(path[i][j] == 0)cout<<0<<" ";
else cout<<path[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
```

- 藍橋杯
- 問題 1434[藍橋杯][歷屆試題]回文數字
- 問題 1084: 用篩法求之N內的素數。 時間限制: 1Sec 內存限制: 64MB
- 問題 1094: 字符串的輸入輸出處理 時間限制: 1Sec 內存限制: 64MB
- A + B Problem II(1002)
- ACM
- L. Digit sum--The Preliminary Contest for ICPC Asia Shanghai 2019
- 單鏈表逆置法
- 有線性表(a1,a2,…,an),采用單鏈表存儲,頭指針為H,每個結點中存放線性表中一個元素,現查找某個元素值等于X的結點。分別寫出下面三種情況的查找語句。要求時間盡量少。 (1)線性表中元素無序。(2)線性表中元素按遞增有序。 (3)線性表中元素按遞減有序。
- 減治法
- 減治法之堆運算
- 減治法之求兩序列中位數
- 減治法之求第k小的數字
- 選擇問題考研題
- 動態規劃
- 動態規劃之最長公共子序列
- 最大總和(1003)
- 數塔問題
- 動態規劃之最大子段和
- 丟雞蛋
- 0-1背包問題
- TSP問題
- 貪心算法
- 活動安排