试题 历届试题 数字三角形
#include<iostream>
#include<algorithm>
using namespace std;
int dp[110][110];
int main(void)
{
int n,i,j,ans;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
scanf("%d",&dp[i][j]);
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
dp[i][j]+=max(dp[i-1][j],dp[i-1][j-1]);
if(n%2) ans=dp[n][n/2+1];
else ans=max(dp[n][n/2],dp[n][n/2+1]);
cout<<ans;
}