Pagini recente » Cod sursa (job #2679579) | Cod sursa (job #2461547) | Cod sursa (job #3266390) | Cod sursa (job #2464440) | Cod sursa (job #3004)
Cod sursa(job #3004)
#include <stdio.h>
#include <stdlib.h>
#define nmax 70
int n,m,deg[nmax],a[nmax*nmax],b[nmax*nmax],c[nmax*nmax],ord[nmax*nmax],i,j,k,s;
int fc(const void *a,const void *b)
{
return c[*(int*)a]-c[*(int*)b];
}
int main()
{
freopen("traseu.in","r",stdin);
freopen("traseu.out","w",stdout);
scanf("%d%d",&n,&m);
for (i=0;i<m;++i)
scanf("%d%d%d",a+i,b+i,c+i),deg[a[i]]++,deg[b[i]]++,s+=c[i],ord[i]=i;
qsort((void*)ord,m,sizeof(ord[0]),fc);
int ok=0;
while (!ok)
{
ok=1;
for (i=0;i<m;++i)
if ((deg[a[ord[i]]]%2)||(deg[a[ord[i]]]%2))
s+=c[ord[i]],deg[a[ord[i]]]++,deg[a[ord[i]]]++,ok=0;
}
printf("%d\n");
return 0;
}