Pagini recente » Cod sursa (job #2462857) | Cod sursa (job #920108) | Cod sursa (job #1449194) | Cod sursa (job #2930652) | Cod sursa (job #3268654)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
vector <pair<int,int> >v[100025];
queue <int> q;
int s,n,m,x,y,i,z,t,cost,d[100025],use[100025];
void bfs(int s)
{q.push(s);
d[s]=1;
while(!q.empty())
{int nod=q.front();
q.pop();
for(pair<int,int> i:v[nod])
if(!d[i.second])
{q.push(i.second);
d[i.second]=d[nod]+i.first;
}
}
}
int main()
{f>>n>>m>>x>>y;
for(i=1;i<=m;i++)
{f>>z>>t>>cost;
v[z].push_back(make_pair(cost,t));
v[t].push_back(make_pair(-cost,z));
}
bfs(x);
g<<d[y]-1;
}