Cod sursa(job #2541192)

Utilizator BlkAlexAlex Negru BlkAlex Data 8 februarie 2020 10:48:39
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
#define MAX 30010

using namespace std;

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

vector < pair <int, int> > G[MAX];
bool viz[MAX];
int n, m, x, y;

void dfs (int nod, int dist){
    if (nod == y){
        g << dist;
        return;
    }
    viz[nod] = true;
    for (int i = 0; i < G[nod].size(); i++){
        int newnode = G[nod][i].first;
        int newdist = dist + G[nod][i].second;
        if (viz[newnode] == false){
            dfs(newnode, newdist);
        }
    }
}

int main()
{
    ios_base::sync_with_stdio(false);
    f >> n >> m >> x >> y;
    for (int k = 1; k <= m; k++){
        int i, j, d;
        f >> i >> j >> d;
        G[i].push_back({j, d});
        G[j].push_back({i, (d*(-1))});
    }
    dfs(x, 0);
    return 0;
}