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;
}
浙公网安备 33010602011771号