ZKX's LAB

数字三角形 最大路径 C++三角形.为什么用动态二维数组不可以?

2020-10-04知识9

C++数字三角形问题求最大路径,动态规划 我怎么感觉这算法不对,比如0 1 2 3 40 01 3 42 1 0 03 0 1 0 24 0 1 0 0 1我看你们的算法都是两行两行的找 是 03111 还是 04021?把第一行的34改一下呢?或者第三行的12改一下?所以我觉得还是要穷举法,

编写一个程序,计算从给定的数字三角形的顶点到底线某处的一条路径,使得该路径经过的数字总和最大 汗 5分。

编程数字三角形 递归是不行的,规模太大,用动归,比如第二行,有两个数,他们都应该是第一行的数过来的,所以到第二行的路就是(1,1)到(2,1)和(2,2)加和,第三行,对(3,2)这个数,。

跪求数字三角形路径的PASCAL代码!!!!!!!!!要动态规划版的!!!!! 是这个e799bee5baa6e78988e69d8331333330343266么?vara,b,c:array[1.100,1.100]of integer;i,j,n:integer;procedure print(i,j:integer);beginif(i=n)or(j=n)then begin write('->;','(',i,',',j,')');exit;end;write('->;','(',i,',',j,')');print(i+1,b[i,j]);end;beginreadln(n);for i:=1 to n do beginfor j:=1 to i doread(c[i,j]);readln;end;for i:=1 to n dobegina[n,i]:=c[n,i];b[n,i]:=0;end;for i:=n-1 downto 1 dofor j:=1 to i doif a[i+1,j]>;a[i+1,j+1]then begin a[i,j]:=a[i+1,j]+c[i,j];b[i,j]:=j;endelse begin a[i,j]:=a[i+1,j+1]+c[i,j];b[i,j]:=j+1;end;writeln(a[1,1]);print(1,1);end.

随机阅读

qrcode
访问手机版