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 }
posted @ 2012-01-28 23:58  HanTQ  阅读(211)  评论(0编辑  收藏  举报