Pagini recente » Cod sursa (job #1667023) | Cod sursa (job #514650) | Cod sursa (job #787167) | Cod sursa (job #2577619) | Cod sursa (job #2796811)
#include <bits/stdc++.h>
#define din cin
#define dout out
#define pi 3.14159265359
#define sw(x,y) x^=y,y^=x,x^=y
#define bmin(a,b)((a<b)?(a):(b))
#define bmax(a,b)((a>b)?(a):(b))
#define ll long long
#define forq(i,ii,n)for(i=ii;i<n;i++)
using namespace std;
ifstream in("sate.in");
ofstream out("sate.out");
int n,m,x,y,i,j,k,l,d[30001];vector<pair<int,int>>a[30001];
void f(int k)
{
//cout<<k<<' '<<d[k]<<'\n';
for(auto i=a[k].begin();i!=a[k].end();i++)
if(d[i->first]==INT_MAX)
if(k-(i->first)>0)
d[i->first]=d[k]+i->second,f(i->first);
else d[i->first]=d[k]-(i->second),f(i->first);
}
int main()
{
fill(d,d+30001,INT_MAX);
in>>n>>m>>x>>y;
while(m--)in>>i>>j>>k,a[i].push_back(make_pair(j,k)),a[j].push_back(make_pair(i,k));
d[x]=0;
f(x);
out<<abs(d[y]);
}