雅礼2018-03-19洛谷作业 2

题目描述

观察下面的数字金字塔。

写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。

         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.为提高代码通过率,在不考虑程序运行时值变化的情况下也应将数组值尽可能开大,以避免这种低级错误失分情况的出现

正确代码:

原文地址:https://www.cnblogs.com/jr-ag/p/8604916.html