POJ 1163 The Triangle
个人第一道DP,选了个简单的做入门指引了~从明天开始逐步深入学习DP~
题目的意思很简单,求出三角形第一行到最后一行的一个路径的最大值。
思路:从最后一行开始向上逐行累加,从而找到最大值。
题目链接:http://poj.org/problem?id=1163
1 #include <iostream>
2 using namespace std;
3
4 int a[101][101];
5
6 int main()
7 {
8 int i,j,n;
9 cin >> n;
10 for(i=1;i<=n;i++)
11 for(j=1;j<=i;j++)
12 cin >> a[i][j];
13 for(i=n-1;i>=1;i--)
14 for(j=1;j<=i;j++)
15 a[i][j] += a[i+1][j]>a[i+1][j+1]?a[i+1][j]:a[i+1][j+1];
16 cout << a[1][1] << endl;
17 return 0;
18 }