Pagini recente » Cod sursa (job #3345935) | Cod sursa (job #1743969) | Cod sursa (job #1784767) | Cod sursa (job #3300512) | Cod sursa (job #3306089)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
struct Muchie {
int y, d;
};
vector<Muchie> gr[30002];
int n, m, p, q, i, dist[30002];
static inline void BFS(int st = p) {
queue<int> q;
q.push(st);
dist[1] = 1;
while(!q.empty()) {
int nod = q.front();
q.pop();
for(Muchie urm : gr[nod]) {
if(dist[urm.y] == 0) {
dist[urm.y] = dist[nod] + urm.d;
q.push(urm.y);
}
}
}
}
int main() {
//ios_base::sync_with_stdio(false);
fin.tie(nullptr);
fout.tie(nullptr);
fin >> n >> m >> p >> q;
for(i = 1; i <= m; i++) {
int x, y, d;
fin >> x >> y >> d;
gr[x].push_back({y, d});
gr[y].push_back({x, -d});
}
BFS();
fout << dist[q] - 1;
return 0;
}