poj 3176

简单dp

代码:

#include<iostream>
#include<fstream>

using namespace std;

int dp[351][351];
int n;
int a[351][351];
void read(){
//	ifstream cin("in.txt");
	int i,j,k;
	cin>>n;
	for(i=1;i<=n;i++)
		for(j=1;j<=i;j++)
			cin>>a[i][j];
	dp[1][1]=a[1][1];
	for(i=1;i<n;i++)
		for(j=1;j<=i;j++)
		{
			dp[i+1][j]=max(dp[i+1][j],dp[i][j]+a[i+1][j]);
			dp[i+1][j+1]=max(dp[i+1][j+1],dp[i][j]+a[i+1][j+1]);
		}
	int res=0;
	for(i=1;i<=n;i++)
		res=max(res,dp[n][i]);
	cout<<res<<endl;
		

}

int main(){
	read();
	return 0;
}

posted on 2011-04-30 12:48  宇宙吾心  阅读(281)  评论(0)    收藏  举报

导航