Pagini recente » Cod sursa (job #2413343) | Cod sursa (job #1913541) | Cod sursa (job #125115) | Cod sursa (job #1235855) | Cod sursa (job #3300134)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream cin("sate.in");
ofstream cout("sate.out");
bool dfs(int nod);
vector<pair<int, int>> graf[100001];
bool vizitat[100001];
int n, m, inc, sf, rez;
int main()
{
cin>>n>>m>>inc>>sf;
for(int i = 1; i <= m; ++i)
{
int x, y, distanta;
cin>>x>>y>>distanta;
graf[x].push_back({y, distanta});
graf[y].push_back({x, distanta});
}
dfs(inc);
cout<<rez;
return 0;
}
bool dfs(int nod)
{
vizitat[nod] = 1;
for(auto i : graf[nod])
{
if(vizitat[i.first])
continue;
int dir = 1;
if(i.first < nod)
dir = -1;
rez += i.second * dir;
if(i.first == sf)
return true;
if(dfs(i.first))
return true;
rez -= i.second * dir;
}
return false;
}