题目描述
Description
如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或得向右走,一直走到底层,要求找出一条路径,使路径上的值最大。
输入描述
Input Description
第一行是数塔层数N(1<=N<=100)。
第二行起,按数塔图形,有一个或多个的整数,表示该层节点的值,共有N行。
样例输入
Sample Input
5
13
11 8
12 7 26
6 14 15 8
12 7 13 24 11
数据范围及提示
Data Size & Hint
数字三角形
1 #include<iostream>
2 #include<cstdio>
3 using namespace std;
4 const int N=101;
5 int f[N][N];
6 int main()
7 {
8 int n;
9 cin>>n;
10 for(int i=1;i<=n;i++)
11 {
12 for(int j=1;j<=i;j++)
13 {
14 cin>>f[i][j];
15 }
16 }
17 for(int i=n-1;i>=1;i--)
18 {
19 for(int j=1;j<=i;j++)
20 {
21 f[i][j]+=max(f[i+1][j],f[i+1][j+1]);
22 }
23 }
24 cout<<f[1][1];
25 }
转载于:https://www.cnblogs.com/lyqlyq/p/6769186.html