Đề bài:
Thuật toán:
- Quy hoạch động!
Code:
- (xem code)
uses math; const fi = ''; fo = ''; var n,m,i,j,maxf : integer; a,f : array[0..301,0..301] of integer; begin assign(input,fi); reset(input); assign(output,fo); rewrite(output); readln(m,n); for i := 1 to m do for j := 1 to n do read(a[i,j]); for j := 0 to n+1 do begin f[0,j] := -maxint; f[m+1,j] := -maxint; end; for i := 1 to m do f[i,1] := a[i,1]; for j := 2 to n do for i := 1 to m do f[i,j] := max(f[i-1,j-1],max(f[i,j-1], f[i+1,j-1])) + a[i,j]; maxf := -maxint; for i := 1 to m do maxf := max(maxf,f[i,n]); writeln(maxf); close(input); close(output); end. |
BÌNH LUẬN MỚI