Cod sursa(job #2434307)

Utilizator isa_tudor_andreiAndrei Tudor isa_tudor_andrei Data 1 iulie 2019 14:48:14
Problema Sate Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

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

int n,m,x,y;
bool b[30002],ex;
vector <int> v[30002];
vector <int> dst[30002];

void dfs(int xc,int d) {
  if( xc == y ) {
    fout<<d<<"\n";
    exit(0);
  }
  for(int i = 0; i < v[xc].size(); i ++ ) {
    if( !b[v[xc][i]] ) {
      b[v[xc][i]] = true;
      dfs(v[xc][i],d+dst[xc][i]);
    }
  }
}

int main() {
  fin>>n>>m>>x>>y;
  int ax,ax2,dx;
  for(int i = 0; i < m; i ++ ) {
    fin>>ax>>ax2>>dx;
    dst[ax].push_back(dx);
    dst[ax2].push_back(-dx);
    v[ax].push_back(ax2);
    v[ax2].push_back(ax);
  }
  b[x]=true;
  dfs(x,0);
}