Cod sursa(job #1936213)

Utilizator Constantin.Dragancea Constantin Constantin. Data 22 martie 2017 22:11:15
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
#define pb push_back

int n,m,X,Y,D[30010];
vector <pair<int,int> > V[30010];
bool u[30010];

int dfs(int q, int c){
    int ans=0;
    ans+=c;
    u[q]=true;
    for (int i=0; i<V[q].size(); i++){
        if (!u[V[q][i].first]) ans+=dfs(V[q][i].first,(V[q][i].first<q?-V[q][i].second:V[q][i].second));
    }
    return ans;
}

int main(){
    ifstream cin ("sate.in");
    ofstream cout ("sate.out");
    cin>>n>>m>>X>>Y;
    for (int i=1; i<=m; i++){
        int x,y,c;
        cin>>x>>y>>c;
        V[x].pb(make_pair(y,c));
        V[y].pb(make_pair(x,c));
    }
    cout<<dfs(X,0);
    return 0;
}