您的位置:首页 > 编程语言 > C语言/C++

POJ 1163 C++:The Triangle

2016-12-14 21:10 447 查看

解题思路:

简单的动态规划题,思路就是从下往上遍历数组,从倒数第二行开始更新数组的值,每次取最大的和,最后输出a[0][0] 即可
#include <stdio.h>
#include <iostream>
int max(int a,int b){
if(a>b)return a;
else return b;
}
using namespace std;
int a[105][105];
int main(){
int n;
cin>>n;
int i,j;
for(i=0;i<n;i++){
for(j=0;j<=i;j++){
cin>>a[i][j];
}
}
for(i=n-2;i>=0;i--){
for(j=0;j<i+1;j++){
a[i][j]=a[i][j]+max(a[i+1][j],a[i+1][j+1]);
}
}
cout<<a[0][0]<<endl;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dp c++ 动态规划 poj