Pagini recente » Cod sursa (job #1193048) | Cod sursa (job #2937876) | Cod sursa (job #1884049) | Cod sursa (job #2573772) | Cod sursa (job #1949744)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int n,m,x,y,c,viz[30001],d[30001],v[30001],nod1,nod2;
vector< pair < int , int > >my[30001];
queue<int> q;
void bfs(){
int nod,vecin,cost;
vector< pair < int , int > >::iterator it;
q.push(1);
v[1]=1;
viz[1]=1;
while(!q.empty()){
nod=q.front();
viz[nod]=1;
q.pop();
for (it=my[nod].begin();it!=my[nod].end();it++){
vecin=(*it).first;
cost=(*it).second;
if (!viz[vecin]){
if (vecin<nod) v[vecin]=v[nod]-cost;
else v[vecin]=v[nod]+cost;
q.push(vecin);
}
}
}
}
int main(){
fin>>n>>m>>nod1>>nod2;
for (int i (1);i<=m;i++){
fin>>x>>y>>c;
my[x].push_back(make_pair(y,c));
my[y].push_back(make_pair(x,c));
}
bfs();
fout<<abs(v[nod1]-v[nod2])<<" ";
}