Pagini recente » Cod sursa (job #1758269) | Cod sursa (job #2439551) | Cod sursa (job #2031427) | Cod sursa (job #619972) | Cod sursa (job #2369805)
#include <fstream>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
const int NMAX1=30002,NMAX2=100025;
int dist[NMAX1],a[NMAX2],b[NMAX2],d[NMAX2];
int N,M,X,Y;
int main()
{
f>>N>>M>>X>>Y;
dist[X]=1;
for(int i=1;i<=M;++i)
{
f>>a[i]>>b[i]>>d[i];
}
f.close();
while(!dist[Y])
{
for(int i=1;i<=M;++i)
{
if(dist[a[i]] && !dist[b[i]])
{
dist[b[i]]=dist[a[i]]+d[i];
}
else
if(!dist[a[i]] && dist[b[i]])
{
dist[a[i]]=dist[b[i]]-d[i];
}
}
}
g<<dist[Y]-1;
return 0;
}