Cod sursa(job #2806847)

Utilizator toma_ariciuAriciu Toma toma_ariciu Data 23 noiembrie 2021 08:41:16
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

struct rel {
    int node, cost;
};

int n, m, start, finish, d[30005];
vector <rel> G[30005];
bool viz[30005];

void dfs(int nod)
{
    if(viz[nod])
        return;
    viz[nod] = true;
    for(int i = 0; i < (int) G[nod].size(); i++)
    {
        d[G[nod][i].node] = d[nod] + G[nod][i].cost;
        dfs(G[nod][i].node);
    }
}

int main()
{
    fin >> n >> m >> start  >> finish;
    for(int i = 1; i <= m; i++)
    {
        int a, b, c;
        fin >> a >> b >> c;
        G[a].push_back({b, c});
        G[b].push_back({a, -c});
    }
    dfs(start);
    fout << d[finish];
    return 0;
}