当前位置: 代码迷 >> C语言 >> ACM题集(即时更新)
  详细解决方案

ACM题集(即时更新)

热度:264   发布时间:2007-04-20 23:02:23.0
上次吃错了,再吃
#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之类的),否则注释太多,显得很乱,你写的代码比较少,那还好说,当你写几十万行,几百万行代码时,你再看看,就显得很乱了,以后注意一下这点
----------------解决方案--------------------------------------------------------
  相关解决方案