Pagini recente » Cod sursa (job #1862808) | Cod sursa (job #2137707) | Cod sursa (job #721174) | Cod sursa (job #1373197) | Cod sursa (job #1391471)
#include <iostream>
#include <fstream>
#include <vector>
#define Maxn 30005
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
vector < pair <int, int> > G[Maxn];
int dist[Maxn], b;
void df(int s)
{
if (dist[b]) return;
for (vector < pair <int, int> >::iterator i = G[s].begin(); i != G[s].end(); ++i)
if (!dist[i -> first]){
dist[i->first] = dist[s] + i -> second;
df(i->first);
}
}
int main()
{
int v, e, a, b, i,x, y, d;
f >> v >> e >> a >> b;
for (i = 1; i <= e; i++) {
f >> x >> y >> d;
G[x].push_back(make_pair(y, d));
G[y].push_back(make_pair(x, -d));
}
df(a);
g << dist[b]- dist[a];
f.close();
g.close();
getchar();
return 0;
}