Pagini recente » Cod sursa (job #117134) | Cod sursa (job #2597753) | Cod sursa (job #1110112) | Cod sursa (job #359962) | Cod sursa (job #2557447)
#include <iostream>
#include <cstdio>
#include <vector>
#define NMAX 30000
#define pii pair<int, int>
using namespace std;
int n, m, x, y, cdist, gasit;
int uz[NMAX + 5];
vector<pii> v[NMAX + 5];
void dfs(int crt) {
if(crt == y) {
printf("%d", cdist);
gasit = 1;
return;
}
uz[crt] = 1;
for(pii next: v[crt])
if(!uz[next.first]) {
cdist += next.second;
dfs(next.first);
cdist -= next.second;
if(gasit)
return;
}
}
int main() {
freopen("sate.in", "r", stdin);
freopen("sate.out", "w", stdout);
int a, b, d;
scanf("%d %d %d %d", &n, &m, &x, &y);
for(int i = 1; i <= n; i++) {
scanf("%d %d %d", &a, &b, &d);
v[a].push_back({b, d});
v[b].push_back({a, -d});
}
dfs(x);
return 0;
}