Pagini recente » Cod sursa (job #1524324) | Cod sursa (job #948445) | Cod sursa (job #1066845) | Cod sursa (job #2854928) | Cod sursa (job #1701969)
#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)
{
if(vc[y]!=0)
pp=1;
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++;
if(vc[y]==0)
bfs(coada[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;
}