径,使该路径所经过的数字的总和最大。 每一步可沿左斜线向下或右斜
线向下走;1<三角形行数<25;三角形中的数字为整数<1000;
径,使该路径所经过的数字的总和最大。 每一步可沿左斜线向下或右斜
线向下走;1<三角形行数<25;三角形中的数字为整数<1000;
第一行为N,表示有N行后面N行表示三角形每条路的路径权.
路经所过的数字总和的最大的答案。
易错点:首先要读懂题意,题目要的是从左向下或者是从右向下;实际图形是这样的
本题思路是,先用一个二维数组把三角形的数字读进去,然后再开一个二位数组来存放 从上到下经过该点的最大值,每个点都只有两种情况,一是从它的正上方传下来的,还有就是从它的正上方的前一个传过来的。所以只要比较这两个的大小,然后 把较大的数的值给当前位置的数组的值。当然第一行和最后一行除外。第一行和最后一行单独赋值就可以。如图,比如第三行,到1的时候,可能加上左边的3后再加1较大,也可能加上上方的8之后再加上1较大,在这儿只需要比较一下,然后赋值就可以啦。
具体情况见代码。
#include<iostream>
using namespace std;原文地址:http://blog.csdn.net/u013412497/article/details/33838535