Cod sursa(job #2343043)

Utilizator _Victor_Victor Ciobanu _Victor_ Data 13 februarie 2019 17:19:15
Problema Sate Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>
#define MAXN 30010
#define ll long long
#define pii pair<int,ll>
#define vii vector<pii>
#define F first
#define S second
using namespace std;

int n,m,x,y,d=0;
vii A[MAXN];
bool V[MAXN];

ifstream fin("sate.in");
ofstream fout("sate.out");

void DFS(int c){
	if(c==y){
		fout<<d;
		exit(0);
	}
	V[c]=1;
	for(int i=0;i<A[c].size();i++){
		if(!V[A[c][i].F]){
			d+=A[c][i].S;
			DFS(A[c][i].F);
			d-=A[c][i].S;
		}	
	}
}

int main(){
	fin>>n>>m>>x>>y;
	for(int i=0;i<m;i++){
		int a;
		pii p;
		fin>>a>>p.F>>p.S;
		A[a].push_back(p);
		swap(a,p.F);
		if(a>p.F)p.S=-p.S;
		A[a].push_back(p);
	}
	DFS(x);
	return 0;
}