Cod sursa(job #2550115)

Utilizator PatriciaCretoiuCretoiu Patricia PatriciaCretoiu Data 18 februarie 2020 14:25:07
Problema Sate Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("sate.in");
ofstream out("sate.out");
const int nmax=1e5+5;
int N, M, X, Y, i, x, y, dist, neig, len, d[nmax];
vector <pair<int,int>> G[nmax];
bitset <nmax> viz;
queue <int> Q;
void BFS(int nod)
{
    viz[nod]=1;
    Q.push(nod);
    while(!Q.empty())
    {
        nod=Q.front();
        for(i=0; i<G[nod].size(); i++)
        {
            neig=G[nod][i].first;
            len=G[nod][i].second;
            if(!viz[neig])
            {
                d[neig]=d[nod]+len;
                viz[neig]=1;
                Q.push(neig);
            }
        }
        Q.pop();
    }
}

int main()
{
    in >> N >> M >> X >> Y;
    for(i=1; i<=M; i++)
    {
        in >> x >> y >> dist;
        G[x].push_back({y,dist});
        G[y].push_back({x,-dist});
    }
    BFS(X);
    out << d[Y];
}