Cod sursa(job #3373744)

Utilizator Iulian.CorobanCoroban Silviu Iulian Iulian.Coroban Data 7 noiembrie 2026 19:13:47
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <vector>

using namespace std;

struct Muchie
{
    int vecin;
    int distanta;
};

int N, M, X, Y;
vector<Muchie> graf[30005];

void citire()
{
    ifstream fin("sate.in");
    fin >> N >> M >> X >> Y;
    
    for(int k = 1; k <= M; k++)
    {
        int i, j, D;
        fin >> i >> j >> D;
        
        graf[i].push_back({j, D});
        graf[j].push_back({i, -D});
    }
}

bool vizitat[30005];
int rezultat;

void dfs(int nod, int distCurenta)
{
    vizitat[nod] = true;
    
    if(nod == Y)
    {
        rezultat = distCurenta;
    }
    
    for(Muchie m : graf[nod])
    {
        if(vizitat[m.vecin] == false)
        {
            dfs(m.vecin, distCurenta + m.distanta);
        }
    }
}

int main()
{
    citire();
    
    dfs(X, 0);
    
    ofstream fout("sate.out");
    fout << rezultat << "\n";
    
    return 0;
}