Cod sursa(job #2550124)

Utilizator PatriciaCretoiuCretoiu Patricia PatriciaCretoiu Data 18 februarie 2020 14:34:43
Problema Sate Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#include <algorithm>
#include <queue>
using namespace std;
ifstream in("sate.in");
ofstream out("sate.out");
const int nmax=3e4+3;
int N, M, X, Y, i, x, y, dist, neig, len, d[nmax];
vector <pair<int,int>> G[nmax];
queue <int> Q;
bool viz[nmax];

void BFS(int nod)
{
    viz[nod]=true;
    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]=true;
                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(make_pair(y,dist));
        G[y].push_back(make_pair(x,-dist));
    }
    BFS(X);
    out << d[Y];
}