Pagini recente » Cod sursa (job #1321200) | Cod sursa (job #2398338) | Cod sursa (job #3259427) | Cod sursa (job #3218304) | Cod sursa (job #2812410)
#include <fstream>
#include <queue>
using namespace std;
vector <int> v[30005], cost[30005];
int sum=0, cs=0, s, t, f[30005], ok=0;
int dfs(int x, int y)
{
f[x]=1;
sum+=cs;
int ca=cs;;
if(x==y)
{
ok=1;
return 0;
}
for(int i=0;i<v[x].size();i++)
{
if(f[v[x][i]]==0)
{
cs=cost[x][i];
dfs(v[x][i], y);
}
}
if(ok==0)
sum-=ca;
f[x]=0;
return 0;
}
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);
}
dfs(s, t);
cout<<sum;
return 0;
}