poj 1163 The Triangle

题目链接:http://poj.org/problem?id=1163

解题思路:核心为 a[i-1][j]=a[i-1][j]+max(a[i][j],a[i][j+1]), 其中 1<i≤n, 1≤j<i. 答案为 a[1][1].

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main(){
 5     int n,i,j,a[101][101];
 6     cin>>n;
 7     for(i=1;i<=n;i++){
 8         for(j=1;j<=i;j++) cin>>a[i][j];
 9     }
10     for(i=n;i>1;i--){
11         for(j=1;j<i;j++){
12             a[i-1][j]+=(a[i][j]>a[i][j+1]? a[i][j]:a[i][j+1]);
13         }
14     }
15     cout<<a[1][1]<<endl;
16     return 0;
17 }

 

posted on 2013-06-18 23:27  SCNU20102200088  阅读(219)  评论(0编辑  收藏  举报

导航