Cod sursa(job #1400720)

Utilizator retrogradLucian Bicsi retrograd Data 25 martie 2015 13:32:49
Problema Sate Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>
#include<vector>

using namespace std;
typedef int var;

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

#define MAXN 100002

struct Edge {
    var n, c;
    Edge(var a, var b) {
        n = a;
        c = b;
    }
};

var n;
var D[MAXN];
bool VIZ[MAXN];
vector<Edge> G[MAXN];

void dfs(var node) {
    VIZ[node] = 1;
    for(auto e : G[node]) {
        var vec = e.n;
        if(!VIZ[vec]) {
            D[vec] = D[node] + e.c;
            dfs(vec);
        }
    }
}

int main() {

    var m, i, j, a, b, c;

    fin>>n>>m>>i>>j;

    while(m--) {
        fin>>a>>b>>c;
        G[a].push_back(Edge(b, c));
        G[b].push_back(Edge(a, -c));
    }

    dfs(i);
    fout<<D[j];

    return 0;
}