Cod sursa(job #527175)

Utilizator vlad.doruIon Vlad-Doru vlad.doru Data 30 ianuarie 2011 20:39:33
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <vector>

using namespace std;

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

vector<int>a[1<<17];
int val[1<<10][1<<10];
int n,m,x,y;
bool viz[1<<17]={false};

void citire(){
	int k,l,aux;
    while(m--){
        in>>k;
		in>>l;
		in>>aux;
        a[k].push_back(l);
		a[l].push_back(k);
		if(k>l){
			val[k][l]=-aux;
			val[l][k]=aux;
		}
		else{
			val[k][l]=aux;
			val[l][k]=-aux;
		}
    }
}

void dfs(int l,int s){
    if(l==y){
		out<<s;
		return;
	}
	int i,q;
    viz[l]=true;
    for(i=0;i<a[l].size();i++){
        q=a[l][i];
        if(viz[q]==0){
			s+=val[l][q];
            dfs(q,s);
		}
        else{
			continue;
		}
    }
}

int main(){
	in>>n>>m>>x>>y;
	citire();
	dfs(x,0);
	return 0;
}