Pagini recente » Cod sursa (job #2863103) | Cod sursa (job #1391361) | Cod sursa (job #62311) | Cod sursa (job #2496526) | Cod sursa (job #1759457)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
int n,m,i,j,q[30001],d[30001],c,e,distanta,x,y,st,dr;
vector<int> a[30001],dist[30001];
int main()
{
f>>n>>m>>x>>y;
for(i=1;i<=m;i++)
{
f>>c>>e>>distanta;
a[c].push_back(e);
a[e].push_back(c);
dist[c].push_back(distanta);
dist[e].push_back(distanta);
}
st=1; dr=1; q[dr]=x; d[dr]=0;
while(st<=dr)
{
x=q[st];
for(j=0;j<a[x].size();j++)
{
q[++dr]=a[x][j];
if(a[x][j]>x) d[a[x][j]]=d[x]+dist[x][j];
else d[a[x][j]]=d[x]-dist[x][j];
}
st++;
}
g<<d[y]<<'\n';
return 0;
}