Cod sursa(job #2553092)

Utilizator teomdn001Moldovan Teodor teomdn001 Data 21 februarie 2020 16:47:38
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <iostream>
#include <fstream>
#include <vector>
#define P  pair <int, int>
#define VVP vector <vector <P> >
using namespace std;

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

VVP G;
int n, m, x, y;
bool vizitat[30003];
int rezultat = 0;
bool gasit = false;

void Citire();
int Dfs(int nod);

int main()
{
    Citire();
    rezultat = Dfs(x);
    fout << rezultat;

}
int Dfs(int nod)
{
    vizitat[nod] = true;
    if (nod == y)
        return 0;

    for (int i = 0; i < G[nod].size(); ++i)
    {
        int vecin = G[nod][i].first;
        if (!vizitat[vecin])
        {
            return Dfs(vecin) + G[nod][i].second;
            break;
        }
    }
}

void Citire()
{
    fin >> n >> m >> x >> y;
    G = VVP(n + 1);
    for (int i = 1; i <= m; ++i)
    {
        int nod1, nod2, cost;
        fin >> nod1 >> nod2 >> cost;
        G[nod1].push_back(make_pair(nod2, cost));
        G[nod2].push_back(make_pair(nod1, -cost));
    }
}