Pagini recente » Cod sursa (job #1695912) | Cod sursa (job #510200) | Cod sursa (job #105184) | Cod sursa (job #2290021) | Cod sursa (job #2600598)
#include <bits/stdc++.h>
using namespace std;
vector < pair < int, int > > v[30005];
int viz[30005], n, m, a, b, x, y, c;
void dfs(int nod)
{
for(int i = 0; i < v[nod].size(); ++ i)
{
if(!viz[v[nod][i].first])
{
v[nod][i].first = viz[nod] + v[nod][i].second;
dfs(v[nod][i].first);
}
}
}
int main()
{
ifstream f("sate.in");
ofstream g("sate.out");
f >> n >> m >> a >> b;
if(a > b)
swap(a, b);
for(int i = 1; i <= m; ++ i)
{
f >> x >> y >> c;
v[x].push_back(make_pair(y, c));
v[y].push_back(make_pair(x, -c));
}
dfs(a);
g << viz[b] << "\n";
return 0;
}