Pagini recente » Profil Luncasu_Victor | Cod sursa (job #2830148) | Cod sursa (job #2033762) | Cod sursa (job #3308569) | Cod sursa (job #3306090)
#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];
bool fr[30002];
static inline void BFS(int st = p) {
queue<int> q;
q.push(st);
fr[1] = true;
while(!q.empty()) {
int nod = q.front();
q.pop();
fr[nod] = true;
for(Muchie urm : gr[nod]) {
if(!fr[urm.y]) {
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];
return 0;
}