Cod sursa(job #2812410)

Utilizator alexdmnDamian Alexandru alexdmn Data 4 decembrie 2021 14:55:05
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#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;
}