Pagini recente » Cod sursa (job #80369) | Cod sursa (job #3232780) | Cod sursa (job #2545552) | Cod sursa (job #1637909) | Cod sursa (job #2541597)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
int n,m,x,y,X,Y,D,sum[30005];
vector<pair<int,int> >v[30005];
bitset<30005>viz;
queue<int>q;
void bfs(int x)
{
q.push(x);
viz[x]=1;
while(!q.empty())
{
x=q.front();
q.pop();
for(int i=0; i<v[x].size(); i++)
if(viz[v[x][i].first]==0)
{
q.push(v[x][i].first);
viz[v[x][i].first]=1;
sum[v[x][i].first]=sum[x]+v[x][i].second;
if(v[x][i].first==y)
return;
}
}
}
int main()
{
f>>n>>m>>x>>y;
for(int i=1; i<=m; i++)
{
f>>X>>Y>>D;
v[X].push_back({Y,D});
v[Y].push_back({X,-D});
}
bfs(x);
g<<sum[y];
return 0;
}