讨论 / 过50题了
jimmy_qian 2012-09-03 04:56:00
点我顶贴 收藏 删除
过50题了,纪念一下

var

f:array[0..100,0..100] of longint;

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

i,j,n,k,l,x,y,z:longint;

Function Seeit(w,l:longint):longint;

var

a:longint;

begin

a:=w+l-1;

if a<=n then exit(a)

else exit(a mod n);

end;

begin

readln(n);

for i:=1 to n do

begin

read(a[i]);

b[i-1]:=a[i];

end;

b[n]:=a[1];

for l:=2 to n do

for i:=1 to n do

for j:=1 to l-1 do

begin

x:=Seeit(i,l);

y:=Seeit(i,j);

if f[i,l]>f[i,j]+f[Seeit(i,j+1),l-j]+a[i]*b[y]*b[x] then f[i,l]:=f[i,l]

else f[i,l]:=f[i,j]+f[Seeit(i,j+1),l-j]+a[i]*b[y]*b[x];

end;

x:=0;

for i:=1 to n do if x> f[i,n] then x:=x

else x:=f[i,n];

writeln(x);

end.

查看更多回复
提交回复