Cod sursa(job #2298266)

Utilizator ezioconnorVlad - Gabriel Iftimescu ezioconnor Data 7 decembrie 2018 21:24:12
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>
#include <vector>
#include <queue>

using namespace std;

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

struct drumuri
{
    int vecin, cost;
};

const int NMAX = 30001;
int n, m, a, b, rez = 0;
bool vizitat[NMAX];

vector <drumuri> Muchii[NMAX];

void bfs(int nod)
{
    if (nod == b)
        out << rez;
    else
    {
        vizitat[nod] = 1;
        for (int i = 0; i < Muchii[nod].size(); ++i)
        {
            if (vizitat[Muchii[nod][i].vecin] == 0)
            {
                rez += Muchii[nod][i].cost;
                bfs(Muchii[nod][i].vecin);
                rez -= Muchii[nod][i].cost;
            }
        }
    }
}

void citire()
{
    int x, y, d;
    in >> n >> m >> a >> b;
    for (int i = 1; i <= m; ++i)
    {
        in >> x >> y >> d;
        drumuri dr = {y, d};
        drumuri dr2 = {x, -d};
        Muchii[x].push_back(dr);
        Muchii[y].push_back(dr2);
    }
    bfs(a);
}

int main()
{
    citire();
    return 0;
}