Pagini recente » Cod sursa (job #3349318) | Cod sursa (job #3355744) | Cod sursa (job #3308467) | Cod sursa (job #1296459) | Cod sursa (job #3338958)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int i,j,n,x,s,y,poz,viz[30005],nr,m,nr2,a,b,d,nod;
vector<pair<int,int>> v[30005];
queue<int> q;
int main()
{ fin>>n>>m>>x>>y;
for(i=1;i<=m;i++)
{fin>>a>>b>>d;
v[a].push_back(make_pair(b,d));
v[b].push_back(make_pair(a,d));
}
q.push(x);
viz[x]=-1;
while(q.front()!=y)
{i=q.front();
//cout<<i<<endl;
for(j=0;j<v[i].size();j++)
{nod=v[i][j].first;
d=v[i][j].second;
if(viz[nod]==0)
{if(nod>i) viz[nod]=viz[i]+d;
else viz[nod]=viz[i]-d;
q.push(nod);
}
}
q.pop();
}
fout<<viz[y]+1;
return 0;
}