求Free Pascal程序

问题如下:第一行输入一个正整数n(1<=n<=1000),以下n行输入一个数字三角形。例:8729763456182467961347246318956793546求从1... 问题如下:
第一行输入一个正整数n(1<=n<=1000),以下n行输入一个数字三角形。
例:
8
7
2 9
7 6 3
4 5 6 1
8 2 4 6 7
9 6 1 3 4 7
2 4 6 3 1 8 9
5 6 7 9 3 5 4 6
求从1,1到第n行的任意位置所经过之点最大和并输出。
注:只能向下或向斜下走,即只能从i,j走到i+1,j或i+1,j+1.
求解,求大神帮帮忙!
展开
 我来答
courage17340
2013-08-01 · TA获得超过205个赞
知道小有建树答主
回答量:227
采纳率:0%
帮助的人:280万
展开全部
var
  a,f:array[0..1001,0..1001] of longint;
  n,i,j:longint;
function max(a,b:longint):longint;
begin
  max:=a;
  if a<b then max:=b;
end;
begin
  readln(n);
  for i:=1 to n do
    for j:=1 to i do
      read(a[i,j]);
  fillchar(f,sizeof(f),0);
  for i:=n downto 1 do
    for j:=1 to i do
      f[i,j]:=a[i,j]+max(f[i+1,j],f[i+1,j+1]);
  writeln(f[1,1]);
end.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式