poj——1163 动态规划

#include <iostream>
using namespace std;

#define MAX 101

int data[MAX][MAX];
int n;
int maxSum[MAX][MAX];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=i;j++)
			cin>>data[i][j];
	for(int i=1;i<=n;i++)
		maxSum[n][i]=data[n][i];
	for(int i=n-1;i>=1;i--)
		for(int j=1;j<=i;j++){
			if(maxSum[i+1][j]>=maxSum[i+1][j+1])
				maxSum[i][j]=maxSum[i+1][j]+data[i][j];
			else
				maxSum[i][j]=maxSum[i+1][j+1]+data[i][j];
		}
		cout<<maxSum[1][1]<<endl;
}

  

posted @ 2017-09-05 11:11  Mr.Struggle  阅读(119)  评论(0编辑  收藏  举报