讨论 / 用循环链表枚举怎么不对了?难道我题意理解错了?麻烦看看
Hlog 2011-07-29 00:03:00
点我顶贴 收藏 删除
program energy;

type point=^re;

re=record

h:longint;

l:longint;

next:point;

end;

var p1,p2,head,jesus:point;

i,n:integer;

max,sum:longint;

a:array[1..100] of point;

begin

readln(n);

new(p1);

read(p1^.h);

head:=p1;

for i:=2 to n do

begin

new(p2);

read(p2^.h);

p1^.l:=p2^.h;

p1^.next:=p2;

p1:=p2;

end;

p1^.l:=head^.h;

p1^.next:=head;

jesus:=head;

max:=0;

repeat

sum:=0;

p1:=head; p2:=p1^.next;

while p2<>head do

begin

sum:=sum+p1^.h*p2^.h*p2^.l;

p2:=p2^.next;

end;

if sum>max then max:=sum;

head:=head^.next;

until head=jesus;

writeln(max);

p1:=head;

for i:=1 to n-1 do

begin

a[i]:=p1;

p1:=p1^.next;

end;

dispose(p1);

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

readln;

end.

#1 Hlog@2011-07-29 00:03:00
回复 删除
大牛们帮帮忙啊

查看更多回复
提交回复