解题思路:dp(水)
代码
#include
<
iostream
>
using namespace std;
int main()
{
int i,j,n, ans,tri[ 351 ][ 350 ] = { 0 };
scanf( " %d " , & n);
for (i = 1 ;i <= n;i ++ )
for (j = 1 ;j <= i;j ++ )
{
scanf( " %d " , & tri[i][j]);
tri[i][j] += max(tri[i - 1 ][j - 1 ],tri[i - 1 ][j]);
}
for (ans = i = 0 ;i <= n;i ++ )
if (ans < tri[n][i])ans = tri[n][i];
printf( " %d\n " , ans);
return 0 ;
}
using namespace std;
int main()
{
int i,j,n, ans,tri[ 351 ][ 350 ] = { 0 };
scanf( " %d " , & n);
for (i = 1 ;i <= n;i ++ )
for (j = 1 ;j <= i;j ++ )
{
scanf( " %d " , & tri[i][j]);
tri[i][j] += max(tri[i - 1 ][j - 1 ],tri[i - 1 ][j]);
}
for (ans = i = 0 ;i <= n;i ++ )
if (ans < tri[n][i])ans = tri[n][i];
printf( " %d\n " , ans);
return 0 ;
}