Pagini recente » Cod sursa (job #37836) | Cod sursa (job #1750729) | Cod sursa (job #1879804) | Cod sursa (job #3000070) | Cod sursa (job #1701973)
#include<cstdio>
#include<vector>
using namespace std;
vector<int> v[100001],vec[100001];
int x,y,pp,vc[100001],i,j,n,m,k,l,in=1,sf=1,coada[100001];
void bfs(int nod)
{
while(in<=sf)
{
nod=coada[in];
for(int i=0;i<v[nod].size();i++)
if(vc[v[nod][i]]==0)
{
coada[++sf]=v[nod][i];
vc[v[nod][i]]=vc[nod]+vec[nod][i];
}
in++;
}
}
int main ()
{
freopen("sate.in","r",stdin);
freopen("sate.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&x,&y);
for(i=1;i<=m;i++)
{
int q,qq,qqq;
scanf("%d%d%d",&q,&qq,&qqq);
v[q].push_back(qq);
v[qq].push_back(q);
vec[q].push_back(qqq);
vec[qq].push_back(-qqq);
}
coada[1]=x;
bfs(x);
printf("%d",vc[y]);
return 0;
}