Cod sursa(job #2839893)

Utilizator Luca_Miscocilucainfoarena Luca_Miscoci Data 26 ianuarie 2022 18:24:52
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <vector>
#define NMAX 100000

using namespace std;

int dist[NMAX + 1];
struct sat{
  int nod, cost;
};
vector <sat> v[NMAX + 1];

void dfs (int node){

  for (int i = 0; i < v[node].size(); i++){
    if (dist[v[node][i].nod] == 0){
      if (v[node][i].nod < node)
        dist[v[node][i].nod] = dist[node] - v[node][i].cost;
      else
        dist[v[node][i].nod] = dist[node] + v[node][i].cost;
      dfs (v[node][i].nod);
    }
  }
}
int main(){

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

  int n, m, x, y, a, b, c;
  fin >> n >> m >> x >> y;
  for (int i = 0; i < m; i ++){
    fin >> a >> b >> c;
    v[a].push_back({b, c});
    v[b].push_back({a, c});
  }

  dist[x] = 1;
  dfs(x);

  fout << dist[y] - 1;
  return 0;
}