讨论 / what's wrong?
jesse 2011-08-13 10:41:00
点我顶贴 收藏 删除
program strings;

var

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

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

a:array[0..200]of longint;

begin

readln(n);

for i:=1 to n do read(a[i]);

a[0]:=a[n];

a[n+1]:=a[1];

fillchar(f,sizeof(f),0);

for i:=2 to n do

for j:=1 to n do

for k:=1 to i-1 do

if f[(j+k) mod n,i-k]+f[j,k]+a[j-1]*a[j+k-1]*a[j+i-1]>f[j,i]

then f[j,i]:=f[(j+k) mod n,i-k]+f[j,k]+a[j-1]*a[j+k-1]*a[i+j-1];

for i:=1 to n do

if ans<f[i,n] then ans:=f[i,n];

writeln(ans);

end.

查看更多回复
提交回复