Pagini recente » Cod sursa (job #1191939) | Cod sursa (job #2610181) | Cod sursa (job #267407) | Cod sursa (job #2411923) | Cod sursa (job #2369774)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
const int NMAX1=30005,NMAX2=100030;
int dist[NMAX1],a[NMAX2],b[NMAX2],d[NMAX2];
int N,M,X,Y;
void read()
{
f>>N>>M>>X>>Y;
for(int i=1;i<=M;++i)
{
f>>a[i]>>b[i]>>d[i];
}
dist[X]=1;
while(dist[Y]==0)
{
for(int i=1;i<=M;++i)
{
if(dist[a[i]]!=0 && dist[b[i]]==0)
{
dist[b[i]]=dist[a[i]]+d[i];
}
else
if(dist[a[i]]==0 && dist[b[i]]!=0)
{
dist[a[i]]=dist[b[i]]-d[i];
}
}
}
g<<dist[Y]-1;
}
int main()
{
read();
return 0;
}