Pagini recente » Cod sursa (job #2342360) | Cod sursa (job #1511903) | Borderou de evaluare (job #203208) | Cod sursa (job #323363) | Cod sursa (job #2540248)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin ("sate.in");
ofstream cout ("sate.out");
int n, m, a, b, x, y, z;
vector <pair <int, int>> g[30005];
int dist[30005], viz[30005];
void dfs(int nod) {
viz[nod] = 1;
for(auto &fiu : g[nod]) {
if(!viz[fiu.first]) {
dist[fiu.first] = dist[nod] + fiu.second;
dfs(fiu.first);
}
}
}
int main() {
cin >> n >> m >> a >> b;
for(; m; m--) {
cin >> x >> y >> z;
g[x].push_back({y, z});
g[y].push_back({x, -z});
}
dfs(a);
cout << dist[b];
return 0;
}