简单DP(数塔问题)


#include 

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

int main()

{



    int T;

    cin>>T;

    while(T--)

    {

        int n,i,j,dp[110][110];

        scanf("%d",&n);

        memset(dp,0,sizeof(dp));

        for(i=1;i<=n;i++)

        for(j=1;j<=i;j++)

        cin>>dp[i][j];

        for(i=n;i>=1;i--)

        for(j=1;j<=n;j++)

        dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+dp[i][j];

         cout<

 

你可能感兴趣的:(简单DP(数塔问题))