Pku1163

#include <iostream>

using namespace std;

int main(){

   

     int rows;

     cin>>rows;//输入三角数组的行数

   

     int a[100][100];//直接声明一个100*100的数组,保证能存放所有的可能三角数组

     for(int i=0;i<rows;++i){  //输入三角数组的值

         for(int j=0;j<=i;++j){

            cin>>a[i][j];

         }

     }

   

     int preMax;

     for(int i=rows-2;i>=0;--i){  //自底向上计算每个元素到最底层的最大值

        for(int j=0;j<=i;++j){

            preMax=(a[i+1][j]<a[i+1][j+1]?a[i+1][j+1]:a[i+1][j]);

              a[i][j]=a[i][j]+preMax;

        }

     }

     cout<<a[0][0];//所求的最大值已经存放在a[0][0]中,输出即可。

 

     return 0;

}

posted @ 2008-12-29 13:15  yyzhang  阅读(124)  评论(0)    收藏  举报
无觅关联推荐,快速提升流量