Cod sursa(job #3258142)

Utilizator adelinapetreAdelina Petre adelinapetre Data 21 noiembrie 2024 11:12:41
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <vector>
using namespace std;

ifstream cin("sate.in");
ofstream cout("sate.out");

const int Nmax = 3e4 + 5;

vector<pair<int, int>>g[Nmax];

void dfs(int nod, int tata, int dist, int y)
{
    if(nod == y)
    {
        cout << dist;
        return;
    }
    for(auto it: g[nod])
        if(it.first != tata)
            dfs(it.first, nod, dist + it.second, y);
}

int main()
{
    int n, m, x, y, i, a, b, c;
    cin >> n >> m >> x >> y;
    for(i = 1; i <= m; i ++)
    {
        cin >> a >> b >> c;
        if(a > b) swap(a, b);
        g[a].push_back({b, c});
        g[b].push_back({a, -c});
    }
    dfs(x, 0, 0, y);
    return 0;
}