Pagini recente » Cod sursa (job #40019) | Cod sursa (job #1881342) | Cod sursa (job #348188) | Cod sursa (job #1345426) | Cod sursa (job #2370504)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
vector<int>ad[30001],cost[30001];
int N,M,X,Y,dist[30001] ,viz[30001],gata;
void read ()
{int i,x,y,c;
fin>>N>>M>>X>>Y;
for(i=1;i<=M;i++)
{fin>>x>>y>>c;
ad[x].push_back(y);
cost[x].push_back(c);
ad[y].push_back(x);
cost[y].push_back(c);
}
fin.close();
}
void dfs(int nod)
{viz[nod]=1;
int w;
for(int i=0;i<ad[nod].size();i++)
if(!viz[ad[nod][i]])
{w=ad[nod][i];
if(w<nod)dist[w]=dist[nod]-cost[nod][i];
else dist[w]=dist[nod]+cost[nod][i];
dfs(w);
}
}
int main()
{ read();
dfs(X);
fout<<dist[Y];
fout.close();
return 0;
}