讨论 / 帮忙找错 程序很好懂 重赏
wower 2011-04-18 21:57:00
点我顶贴 收藏 删除
Program rq5;

var n,m,i,j,k,l:longint;

r,c:array[0..101]of longint;

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

function max(a,b:longint):longint;

begin

if a>b then exit(a);

exit(b);

end;

begin

readln(n);

for i:=1 to n do

read(r[i]);

for i:=1 to n do

r[n+i]:=r[i];

for i:=1 to n-1 do

c[i]:=r[i+1];

c[n]:=r[1];

for i:=1 to n do

c[i+n]:=c[i];

for i:=1 to 2*n do

for j:=i+1 to n+i do

for k:=i to j-1 do

f[i,j]:=max(f[i,j],f[i,k]+f[k+1,j]+r[i]*c[k]*c[j]);

for i:=1 to n do

k:=max(k,f[i,n+i-1 ]);

write(k);

end.

#1 zjc814843343@2010-10-26 04:15:00
回复 删除
顶一下

虽然我不怎么懂。。。。

#2 wower2@2010-10-26 04:44:00
回复 删除
只要找出错 绝对给100分。。。。

大家帮帮忙啊

#3 beana@2010-11-06 23:01:00
回复 删除
这句 f[ij]=min{f[i][k]+f[k+1][j]+a[i]*b[i]*b[i+1]}(i<=k<=j-1)

不是 f[i,j]:=max(f[i,j],f[i,k]+f[k+1,j]+r[i]*c[k]*c[j]);

看来的 我自己其实一点不懂

#4 L.Lawliet@2010-11-07 01:41:00
回复 删除
LZ貌似已经通过了。
#5 zjc814843343@2010-11-07 02:11:00
回复 删除
不会吧?我们改了很久啊,都不过
#6 2010zyx@2010-11-08 04:50:00
回复 删除
我不懂哎----------------
#7 殺魂の魄@2011-02-19 20:51:00
回复 删除
o

不明

#8 zhenghanle@2011-04-18 21:50:00
回复 删除
哥老早知道了

把分给我

我就告诉你

#9 张湛二代@2011-04-18 21:54:00
回复 删除
分啊分啊!!

这句 f[ij]=min{f[i][k]+f[k+1][j]+a[i]*b[i]*b[i+1]}(i<=k<=j-1)

不是 f[i,j]:=max(f[i,j],f[i,k]+f[k+1,j]+r[i]*c[k]*c[j]);

确实是这样,不骗你!

你要给我分

不然我告你......

#10 张湛二代@2011-04-18 21:55:00
回复 删除
不懂.....

懂不!.....

查看更多回复
提交回复