Cod sursa(job #3202480)

Utilizator robert2007oprea robert robert2007 Data 11 februarie 2024 17:23:38
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <iostream>
#include <fstream>
#define L 30005
#define M 100030
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");

int t[4][2 * M], n, m, x, y, start[2 * M], pp, pa, km, k, c[L], viz[L], sum[L];
void bfs_cu_liste(int plec, int ajung)
{
    int st, dr, k, om;
    st = dr = 1;
    c[dr] = plec;
    viz[plec] = 1;
    while(st <= dr)
    {
        k = c[st];
        om = start[k];
        while(om)
        {
            if(!viz[t[0][om]] && k != ajung)
            {
                if(t[0][man] > k)
                    sum[t[0][man]] = t[2][man] + sum[c1[st]];
                else
                    sum[t[0][man]] = sum[c1[st]] - t[2][man];
                c[++dr] = t[0][om];
                viz[t[0][om]] = 1;
            }
            om = t[1][om];
        }
        st++;
    }
}

int main()
{
    f >> n >> m >> pp >> pa;
    while(f >> x >> y >> km)
    {
        k++;
        t[0][k] = y;
        t[1][k] = start[x];
        t[2][k] = km;
        start[x] = k;
        k++;
        t[0][k] = x;
        t[1][k] = start[y];
        t[2][k] = km;
        start[y] = k;
    }
    bfs_cu_liste(pp, pa);
    g << sum[pa];

    return 0;
}