Cod sursa(job #2198122)

Utilizator IustinPetrariuIustinian Petrariu IustinPetrariu Data 23 aprilie 2018 17:51:13
Problema Sate Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define NMAX 30001

using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
vector < pair < int , int > > G[NMAX];
int viz[NMAX],N,M,X,Y;
void DFS(int node)
{
    for(int i = 0 ; i < G[node].size(); i++)
    {
        int w=G[node][i].first;
        int cost=G[node][i].second;
        if(!viz[w])
        {
            viz[w]=viz[node]+cost;
            DFS(w);
        }
    }
}
int main()
{
            fin>>N>>M>>X>>Y;
            if(Y  < X) swap(X,Y);
            for(int i = 1; i <= M; i++)
            {
                int x,y,c;
                fin>>x>>y>>c;
                G[x].push_back(make_pair(y,c));
                G[y].push_back(make_pair(x,-c));
            }
            DFS(X);
            fout<<viz[Y];

    return 0;
}