试题 历届试题 数字三角形

试题 历届试题 数字三角形

#include
#include
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;
}

你可能感兴趣的:(#,蓝桥杯,算法)