Pagini recente » Cod sursa (job #171403) | Cod sursa (job #1338826) | Cod sursa (job #2903299) | Cod sursa (job #3196478) | Cod sursa (job #2246897)
#include <fstream>
#include <vector>
#define DIM 30005
using namespace std;
ifstream fin ("sate.in");
ofstream fout ("sate.out");
int n, m, x, y, t, i, j, d, p, u, nod;
int c[DIM], v[DIM], l[DIM];
vector < pair <int, int> > L[DIM];
pair <int, int> vecin;
int main()
{
fin >> n >> m >> x >> y;
for (t=1; t<=m; t++){
fin >> i >> j >> d;
L[i].push_back({j, d});
L[j].push_back({i, -d});
}
p = u = 1;
c[1] = x;
v[x] = 1;
while (p <= u){
nod = c[p];
for (i=0; i<L[nod].size(); i++){
vecin = L[nod][i];
if (v[vecin.first] == 0){
v[vecin.first] = 1;
c[++u] = vecin.first;
l[vecin.first] = l[nod] + vecin.second;
}
}
p++;
}
fout << l[y];
return 0;
}