Pagini recente » Cod sursa (job #1029487) | Cod sursa (job #1684725) | Cod sursa (job #1682318) | Cod sursa (job #836629) | Cod sursa (job #2839840)
#include <fstream>
#include <queue>
using namespace std;
vector <int> v[30005], cost[30005];
queue <int> q;
int sum=0, cs=0, s, t, f[30005], ok=0;
int bfs(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();
}
}
int main()
{
ifstream cin("sate.in");
ofstream cout("sate.out");
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;
}