题目描述
观察下面的数字金字塔。
写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
在上面的样例中,从7 到 3 到 8 到 7 到 5 的路径产生了最大
输入输出格式
输入格式:
第一个行包含 R(1<= R<=1000) ,表示行的数目。
后面每行为这个数字金字塔特定行包含的整数。
所有的被供应的整数是非负的且不大于100。
输出格式:
单独的一行,包含那个可能得到的最大的和。
原代码:
错误原因:
1、当看到题目中输入格式要求为 R(1<= R<=1000),便不加思索地将数组设置为1001;而没有考虑到当n=1000时,第13行的i+1当i=1000为1001,超出了我设定的数组范围,从而导致9分
经验教训:
1.以后遇到数组类题时,将需设置的数组最大值代入到源代码中,看最大情况下产生的值有没有超出数组边界;
2.为提高代码通过率,在不考虑程序运行时值变化的情况下也应将数组值尽可能开大,以避免这种低级错误失分情况的出现
正确代码: