Pagini recente » Cod sursa (job #3335254) | Cod sursa (job #67552) | Cod sursa (job #2074023) | Cod sursa (job #845505) | Cod sursa (job #3341264)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
const int nmax = 3e4+5;
vector<pair<int, int>> vecini[nmax];
queue<int> q;
int n, m, start, stop, dist[nmax];
bool viz[nmax];
int main()
{
fin>>n>>m>>start>>stop;
for(int i = 1; i <= m; ++i)
{
int x, y, d;
fin>>x>>y>>d;
vecini[x].push_back({y, d});
vecini[y].push_back({x, -d});
}
q.push(start);
viz[start] = true;
while(!q.empty())
{
int nod = q.front();;
if(nod == stop)
break;
q.pop();
for(auto i : vecini[nod])
{
if(!viz[i.first])
{
dist[i.first] = dist[nod] + i.second;
viz[i.first] = true;
q.push(i.first);
}
}
}
fout<<dist[stop];
return 0;
}