Cod sursa(job #35946)

Utilizator buradaandreiBurada Andrei buradaandrei Data 22 martie 2007 18:49:28
Problema Traseu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
FILE *f=fopen("traseu.in","r");
FILE *g=fopen("traseu.out","w");
int n,x[61][61],max=0,vmax,v[61],tot,l;
void ciclu(int vf,int s)
{
int i;
//v[vf]=1;
if (vf==vmax&&l>0) {tot+=s;l=0;}
else
	for (i=1;i<=n;i++)
		if (x[vf][i])
			{
			l++;ciclu(i,s+x[vf][i]);
			}
}
int main()
{
int m,a,b,i,apare[61]={0},c;
fscanf(f,"%d",&n);
fscanf(f,"%d",&m);
for (i=1;i<=m;i++)
	{
	fscanf(f,"%d",&a);
	fscanf(f,"%d",&b);
	fscanf(f,"%d",&c);
	x[a][b]=c;
	apare[a]++;
	apare[b]++;
	}
for (i=1;i<=n;i++)
	if (apare[i]>max) {max=apare[i];vmax=i;}
ciclu(vmax,0);
fprintf(g,"%d",tot);
fclose(f);
fclose(g);
return 0;
}