shallowcmz


私信TA

用户名:shallowcmz

访问量:41037

签 名:

行者常至,为者常成

等  级
排  名 230
经  验 6052
参赛次数 1
文章发表 57
年  龄 18
在职情况 学生
学  校 东莞理工学院
专  业 软件工程

  自我简介:

解题思路:



从倒数第三行最后往前算,记住每一次当前行和下一行可加的数的和,取最大后就可以

注意事项:





参考代码:

#include <stdio.h>

#include <math.h>

int max(int a, int b);

int main(void)

{

int i, j, l, m, n;

int *c;

scanf("%d", &m);

for (l = 1;l <= m;l++)

{

scanf("%d", &n);

int d[100][100];

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

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

scanf("%d", &d[i][j]);

c = d[n - 1];

for (i = n - 2;i >= 0;i--)

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

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

if(l==m)

printf("%d", c[0]);

else

printf("%d\n", c[0]);

}

return 0;

}

int max(int a, int b)

{

if (a > b)

return a;

else

return b;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区