Cod sursa(job #3300134)

Utilizator parrot279Sofi Tudose parrot279 Data 13 iunie 2025 09:41:45
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <vector>
#include <queue>

using namespace std;
ifstream cin("sate.in");
ofstream cout("sate.out");
bool dfs(int nod);

vector<pair<int, int>> graf[100001];
bool vizitat[100001];
int n, m, inc, sf, rez;

int main()
{
    cin>>n>>m>>inc>>sf;
    for(int i = 1; i <= m; ++i)
    {
        int x, y, distanta;
        cin>>x>>y>>distanta;
        graf[x].push_back({y, distanta});
        graf[y].push_back({x, distanta});
    }
    dfs(inc);
    cout<<rez;
    return 0;
}

bool dfs(int nod)
{
    vizitat[nod] = 1;
    for(auto i : graf[nod])
    {
        if(vizitat[i.first])
            continue;
        int dir = 1;
        if(i.first < nod)
            dir = -1;
        rez += i.second * dir;

        if(i.first == sf)
            return true;
        if(dfs(i.first))
            return true;

        rez -= i.second * dir;
    }
    return false;
}