Pagini recente » Cod sursa (job #1241381) | Cod sursa (job #2006677) | Cod sursa (job #678423) | Cod sursa (job #1264259) | Cod sursa (job #2839852)
#include <fstream>
#include <queue>
using namespace std;
vector <long long int> v[30005], cost[30005];
queue <long long int> q;
long long int sum=0, cs=0, s, t, f[30005], ok=0;
long long int bfs(long long int x)
{
q.push(x);
f[x]=1;
while(q.front()!=t)
{
cs=q.front();
for(int i=0;i<v[cs].size();i++)
{
if(f[v[cs][i]]==0)
{
f[v[cs][i]]=1;
sum+=cost[cs][i];
q.push(v[cs][i]);
}
}
q.pop();
}
return 0;
}
int main()
{
ifstream cin("sate.in");
ofstream cout("sate.out");
long long int n,m,a,c,b;
cin>>n>>m>>s>>t;
for(int i=0;i<m;i++)
{
cin>>a>>b>>c;
v[a].push_back(b);
v[b].push_back(a);
cost[a].push_back(c);
cost[b].push_back((-1)*c);
}
bfs(s);
cout<<sum;
return 0;
}