#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int i;
struct node *p;
}lin;
void main()
{
int i,j,n;
lin *head,*p,*q,*k,*l;
while(scanf("%d",&n)!=EOF)
{
head=(lin *)malloc(sizeof(lin));
p=head;
scanf("%d",&p->i);
for(i=1;i<n;i++)
{
q=(lin *)malloc(sizeof(lin));
p->p=q;
p=q;
scanf("%d",&p->i);
}
p->p=NULL;
p=head;
j=0;
while(--n)
{
i=head->i+head->p->i;
k=head;
l=head->p;
p=head;
while(p->p!=NULL)
{
if(p->i+p->p->i<i)
{
k=p;
l=p->p;
}
p=p->p;
}
k->i+=l->i;
j+=k->i;
k->p=l->p;
free(l);
}
printf("%d\n",j);
}
}
[此贴子已经被作者于2007-4-21 21:55:02编辑过]
----------------解决方案--------------------------------------------------------
26楼以后的提交都有问题
另外iwfy不要写太多的注释,会注释也是一种技巧,只注释那些重要部分或都某个过程(包括函数,FOR之类的),否则注释太多,显得很乱,你写的代码比较少,那还好说,当你写几十万行,几百万行代码时,你再看看,就显得很乱了,以后注意一下这点
----------------解决方案--------------------------------------------------------