题库首页 › 青少年软件编程(C语言) › 题目 4429

最佳路径 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。 注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。 时间限制:1000 内存限制:65536 输入 第一行为三角形高度100>=h>=1,同时也是最底层边的数字的数目。 从第二行开始,每行为三角形相应行的数字,中间用空格分隔。 输出 最佳路径的长度数值。 样例输入 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 样例输出 30 提示 如何采用动态规划的思想,对问题进行分解。

正确答案:参考程序(C++):数字三角形动态规划。从底往上,dp[j]=max(dp[j],dp[j+1])+a[i][j],最后dp[0]为最大路径和。样例输出30。核心:自底向上DP求最大和。

试卷来源:202303 青少年等级考试C/C++真题四级

本卷相关题目

在线做题 同科目题库