Cod sursa(job #2029454)

Utilizator netfreeAndrei Muntean netfree Data 30 septembrie 2017 10:29:54
Problema Sate Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;

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

const int N_MAX = 30000 + 5;

int x, y, n,m;

vector<pair<int,int> > vec[N_MAX];

bitset<N_MAX> viz;

void dfs(int nod, int sum){

    if(viz[nod])
        return;

    viz[nod] = true;


    if(nod == y){
        fout << sum;
        exit(0);
    }else{
        for(auto v : vec[nod]){
            dfs(v.first, sum + v.second);
        }
    }

}

int main()
{

    fin >> n >> m >> x >> y;

    while(m--){
        int a,b,d;
        fin >> a >> b >> d;
        if(a > b)
            swap(a,b);
        vec[a].push_back({b,d});
        vec[b].push_back({a,-d});
    }

    dfs(x, 0);

    return 0;
}