讨论 / 为什么只要50分,哪位大牛帮忙改一下(很好理解的程序)
863671241 2010-07-28 09:36:00
点我顶贴 收藏 删除
var

n,i,j,k,max:longint;

b:array[0..100]of longint;

f:array[1..1000,1..1000]of longint;

begin

readln(n);

for i:=1 to n do begin read(b[i]);b[n+i]:=b[i];end;

for i:=1 to n-1 do

for j:=1 to n do

for k:=j to j+i-1 do

if f[j,k]+f[k+1,j+i]+b[j]*b[k+1]*b[j+i+1]>f[j,j+i] then

f[j,j+i]:=f[j,k]+f[k+1,j+i]+b[j]*b[k+1]*b[j+i+1];

for i:=1 to n do

if f[i,n+i-1]>max then max:=f[i,n+i-1];

writeln(max);

readln;

readln;

end.

#1 863671241@2010-07-28 09:36:00
回复 删除
AC了
查看更多回复
提交回复