Cod sursa(job #3313149)

Utilizator SkibidiCezarCezar Bolba SkibidiCezar Data 2 octombrie 2025 17:17:44
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin ("sate.in");
ofstream fout ("sate.out");
int n, m, x, y, s, suma;
struct nod{
    int p, c;
};
nod a, b;
vector <nod> v[30005];
bool viz[30005];
void parcurg(int poz){
    viz[poz] = 1;
    //cout << poz << " ";
    if(poz == y){
        suma = s;
    }
    for(int i = 0; i < v[poz].size(); i++){
        if(viz[v[poz][i].p] == 0){
            if(v[poz][i].p < poz){
                s -= v[poz][i].c;
                parcurg(v[poz][i].p);
                s += v[poz][i].c;
            }
            else{
                s += v[poz][i].c;
                parcurg(v[poz][i].p);
                s -= v[poz][i].c;
            }
        }
    }
}

int main()
{
    fin >> n >> m >> x >> y;
    if(x > y){
        swap(x, y);
    }
    for(int i = 1; i <= m; i++){
        fin >> b.p >> a.p >> a.c;
        b.c = a.c;
        v[b.p].push_back(a);
        v[a.p].push_back(b);
    }
    parcurg(x);
    fout << suma;
    return 0;
}