Pagini recente » Cod sursa (job #3122617) | Cod sursa (job #2538912) | Cod sursa (job #2060900) | Cod sursa (job #1576555) | Cod sursa (job #3303051)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("sate.in");
ofstream fout ("sate.out");
int n, m;
vector <pair <int, int>> g[100001];
int dist[100001];
void bfs(int sursa)
{
dist[sursa] = 0;
queue <pair <int, int>> q;
q.push({sursa, 0});
while (!q.empty())
{
int nod = q.front().first;
q.pop();
for (auto vecin : g[nod])
if (!dist[vecin.first])
{
if (vecin.first < nod)
dist[vecin.first] = dist[nod] - vecin.second;
else
dist[vecin.first] = dist[nod] + vecin.second;
q.push(vecin);
}
}
}
int main()
{
int x, y;
fin >> n >> m >> x >> y;
for (int i = 1; i <= m; i++)
{
int a, b, cost;
fin >> a >> b >> cost;
g[a].push_back({b, cost});
g[b].push_back({a, cost});
}
bfs(x);
fout << dist[y];
return 0;
}