Cod sursa(job #1067684)

Utilizator krissu93FMI Tiugan Cristiana Elena krissu93 Data 27 decembrie 2013 12:47:19
Problema Sate Scor 0
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

const int NMAX = 30001;
const int MMAX = 100025;
int n,m, start, finish, total = 0;
bool viz[NMAX];
struct det{
  int nr, dist;
};
vector<det> sate[NMAX];

void get_input(){
  ifstream in("sate.in");
  in>>n>>m>>start>>finish;
  cout<<start<<" "<<finish;
  for (int i = 0; i < m; ++i){
    int x,y,d;
    in>>x>>y>>d;
    det per;
    per.nr = y;
    per.dist = d;
    sate[x].push_back(per);
    per.nr = x;
    per.dist = -d;
    sate[y].push_back(per);
  }
  in.close();
}

void dfs(int nod){
  viz[nod]=true;
  if (nod==finish) return;
  for (int i = 0; i<sate[nod].size();++i)
    if (viz[sate[nod][i].nr]==false){
    total +=sate[nod][i].dist;
    dfs(sate[nod][i].nr);
  }

}

int main(){
  get_input();
  dfs(start);
  ofstream out("sate.out");
  out<<total;
  out.close();
  return 0;

}