基础的动态规划题,自底向上的思想
题目连接:The Triangle
AC代码:
#include <iostream>
using namespace std;
#define MAX(a,b) ((a)>(b)?(a):(b))
int dp[100][100];
int main()
{
int N;
int row,i,j;
while(cin>>N)
{
for( i=0;i<N;i++)
for( j=0;j<=i;j++)
cin>>dp[i][j];
for( row=N-2;row>=0;row--)
for( j=0;j<=row;j++)
dp[row][j]=MAX(dp[row+1][j],dp[row+1][j+1])+dp[row][j];
cout<<dp[0][0]<<endl;
}
return 0;
}