Оба направления счёта: вниз или вверх, равноценны.
да, чтобы получить правильный ответ особой разницы нет откуда начинать считать, но снизу удобнее, ибо там нет дополнительных проблем.
Если представить треугольник в виде массива A, где верхний элемент A[1,1], нижний левый A[k,1], нижний правый A[k,k], то весь расчет на Delphi, будет выглядеть так:
Код:
for i:=k-1 downto 1 do for j:=1 to i do A[i,j]:=A[i,j]+max(A[i+1,j],A[i+1,J+1];
После чего из A[1,1] берем результат...
Если идти сверху вниз, то там понадобятся либо дополнительные проверки, либо дополнительное место для хранения промежуточных данных.