数字三角形:顺推法(一维数组)
生活随笔
收集整理的這篇文章主要介紹了
数字三角形:顺推法(一维数组)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意
寫一個程序來查找從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。
分析
f[j] 表示第i行第j個位置上的數到頂點的最大值。
F[j]=max{a[j]+f[j-1],a[j]+f[j]}2<=j<i
F[1]=a[1]+f[1]
n,i,j,w:longint;
a,f:array[1..10000]of longint;
begin
? ? readln(n);
? ? fillchar(f,sizeof(f),0);
? ? readln(a[1]);
? ? f[1]:=a[1];
? ? for i:=2 to n do
? ? begin
? ? ? ? for j:=1 to i do
? ? ? ? read(a[j]);
? ? ? ? for j:=i downto 2 do
? ? ? ? if f[j-1]<f[j] then f[j]:=a[j]+f[j] else f[j]:=a[j]+f[j-1];
? ? ? ? f[1]:=a[1]+f[1];
? ? end;
? ? w:=0;
? ? for i:=1 to n do
? ? if f[i]>w then w:=f[i];
? ? write(w);
end.
轉載于:https://www.cnblogs.com/YYC-0304/p/9500177.html
總結
以上是生活随笔為你收集整理的数字三角形:顺推法(一维数组)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字三角形:顺推法(二维数组)
- 下一篇: 开心的金明:顺推法