Cod sursa(job #2452110)

Utilizator AnduebossAlexandru Ariton Andueboss Data 29 august 2019 16:41:09
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.18 kb
//
//  main.cpp
//  bfs
//
//  Created by Andu Andu on 29/08/2019.
//  Copyright © 2019 Andu Andu. All rights reserved.
//

#include <fstream>
#include <iostream>
#include <vector>
#include <queue>

using namespace std;

ifstream fin("bfs.in");
ofstream fout("bfs.out");
int n,m,s,x,y,a,b,dist;
vector <pair<int,int>> muchii[100005];
int distanta[100005];
bool viz[100005];
deque <int> q;

void bfs(int nod) {
    viz[nod] = 1;
    q.push_back(nod);
    while (!q.empty()) {
        nod = q.front();
        q.pop_front();
        //q.pop();
        for (unsigned int i=0;i<muchii[nod].size();i++) {
            //int vecin=muchii[nod][i];
            if (!viz[muchii[nod][i].first]) {
                //distanta[vecin]=distanta[nod]+1;
                q.push_back(muchii[nod][i].first);
                viz[muchii[nod][i].first]=1;
                distanta[muchii[nod][i].first]=distanta[nod]+muchii[nod][i].second;
                
            }
        }
    }
}
int main() {
    fin >> n >> m >> x >> y;
    for(int i=1;i<=m;i++){
        fin >> a >> b >> dist;
        muchii[a].push_back(make_pair(b, dist));
        muchii[b].push_back(make_pair(a, -dist));
    }
    bfs(x);
    fout<<distanta[y];
}