Cod sursa(job #2988496)

Utilizator daria1234daria ghitescu daria1234 Data 4 martie 2023 19:25:21
Problema Sate Scor 45
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>

using namespace std;

const int NMAX=30000;
int n, m, x, y;
vector<pair<int, int> >G[NMAX];
vector<bool> isvisited;
vector <int>dist;

void dfs(int node)
{
    isvisited[node]=true;
    for(int i=0; i<G[node].size(); i++)
    {
        int son=G[node][i].first, d=G[node][i].second;
        if(!isvisited[son])
        {
            dist[son]=dist[node]+d;
            dfs(son);
        }
    }
}


int main()
{
    freopen("sate.in", "r", stdin);
    freopen("sate.out", "w", stdout);
    cin>>n>>m>>x>>y;
    int a, b, d;
    for(int i =1; i<=m; i++)
    {
        cin>>a>>b>>d;
        if(a>b)
            swap(a, b);
        G[a].push_back({b, d});
        G[b].push_back({a, -d});
    }
    dist.resize(n+1, 0);
    isvisited.resize(n+1, false);
    dfs(x);
    cout<<dist[y];
    return 0;
}