Pagini recente » Cod sursa (job #145498) | Cod sursa (job #557981) | Cod sursa (job #2601501) | Cod sursa (job #518667) | Cod sursa (job #354352)
Cod sursa(job #354352)
#include<fstream.h>
ifstream fin("sate.in");
ofstream fout("sate.out");
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[p]=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[p]=l[i].x;
dist[l[i].x]=dist[aux]-l[i].d;
}
}
fout<<dist[y];
}
int main()
{long i;
fin>>n>>m>>x>>y;
for( i=1;i<=m;i++)
fin>>l[i].x>>l[i].y>>l[i].d;
parcurgere();
fin.close();
fout.close();
return 0;
}