Pagini recente » Cod sursa (job #2420741) | Cod sursa (job #2239439) | Cod sursa (job #591947) | Cod sursa (job #2616398) | Cod sursa (job #2913110)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
const int N = 3e4;
vector <pair <int, int>> adj[N + 1];
bool viz[N + 1];
void dfs(int nod, int target, int dist){
if(nod == target){
fout << dist << '\n';
exit(0);
}
viz[nod] = true;
for(auto vec : adj[nod])
if(!viz[vec.first])
dfs(vec.first, target, dist + vec.second);
}
int main(){
int n, m, x, y;
fin >> n >> m >> x >> y;
for(int i = 1; i <= m; i++){
int a, b, c;
fin >> a >> b >> c;
adj[min(a, b)].push_back({max(a, b), c});
adj[max(a, b)].push_back({min(a, b), -c});
}
dfs(x, y, 0);
return 0;
}