Pagini recente » Cod sursa (job #984106) | Cod sursa (job #2917619) | Cod sursa (job #3123231) | Cod sursa (job #3203990) | Cod sursa (job #2582657)
#include <bits/stdc++.h>
#define inf 10000000
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
int n,m,x,y;
vector<pair<int,int > > vecini[30005];
bool viz[30005];
int dist[30005];
queue<int> q;
int main()
{
f>>n>>m>>x>>y;
for(int i=1;i<=m;i++)
{
int a,b,cost;
f>>a>>b>>cost;
vecini[a].push_back({b,cost});
vecini[b].push_back({a,-cost});
}
viz[x]=1;
q.push(x);
while(!q.empty())
{
int node=q.front();
for(int i=0;i<vecini[node].size();i++)
{
int newnode=vecini[node][i].first;
if(viz[newnode]==0)
{
viz[newnode]=1;
dist[newnode]=dist[node]+vecini[node][i].second;
q.push(newnode);
if(newnode==y)
{
g<<dist[y];
return 0;
}
}
}
q.pop();
}
}