Pagini recente » Cod sursa (job #3279629) | Cod sursa (job #3148873) | Cod sursa (job #2631410) | Cod sursa (job #1676873) | Cod sursa (job #354354)
Cod sursa(job #354354)
#include<cstdio>
long n,m,x,y;
long c[30001];
long long dist[30001];
struct muchie
{long x,y;
long d;
};
muchie l[100101];
void parcurgere()
{long i,p,u;
long aux;
c[1]=x;
dist[x]=0;
p=u=1;
while(p<=u)
{aux=c[p];
p++;
for(i=1;i<=m;i++)
if(l[i].x==aux )
{if( dist[l[i].y]==0)
{u++;
c[u]=l[i].y;
dist[l[i].y]=dist[aux]+l[i].d;
}
}
else if(l[i].y==aux)
if(dist[l[i].x]==0)
{u++;
c[u]=l[i].x;
dist[l[i].x]=dist[aux]-l[i].d;
}
}
printf("%d",dist[y]);
}
int main()
{long i;
freopen("sate.in","r",stdin);
freopen("sate.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&x,&y);
for( i=1;i<=m;i++)
scanf("%d%d%d",&l[i].x,&l[i].y,&l[i].d);
parcurgere();
return 0;
}