Pagini recente » Cod sursa (job #582322) | Cod sursa (job #167720) | Cod sursa (job #2262906) | Cod sursa (job #3172393) | Cod sursa (job #1701952)
#include<cstdio>
#include<vector>
using namespace std;
vector<pair<int,int> > v[30001];
int vv[30001],vec[30001];
int main ()
{freopen ("sate.in","r",stdin);
freopen ("sate.out","w",stdout);
int n,m,i,x,y,in,sf,k,p,q;
scanf("%d%d%d%d",&n,&m,&x,&y);
for(i=1;i<=m;i++)
{scanf("%d%d%d",&p,&q,&k);
v[p].push_back(make_pair(q,k));
v[q].push_back(make_pair(p,-k));
}
in=sf=1;
vv[sf]=x;
while(in<=sf)
{for(i=0;i<v[vv[in]].size();i++)
if(vec[v[vv[in]][i].first]==0)
{vec[v[vv[in]][i].first]=vec[vv[in]]+v[vv[in]][i].second;
sf++;
vv[sf]=v[vv[in]][i].first;
}
in++;
}
printf("%d",vec[y]);
return 0;
}