Cod sursa(job #2497794)

Utilizator matei123Biciusca Matei matei123 Data 23 noiembrie 2019 11:12:56
Problema Sate Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<bits/stdc++.h>
#define Nmax 30005
using namespace std;
ifstream f("sate.in"); ofstream g("sate.out");
int n, m, x, y;
vector<pair<int, int>>v[Nmax];
int dis[Nmax];
bool viz[Nmax];
deque<int>d;
void Bfs(int nod)
{   viz[nod]=1;
    d.push_back(nod);
    while(!d.empty())
    {   nod=d.front();
        d.pop_front();
        for(int i=0; i<v[nod].size(); i++)
        {   if(!viz[v[nod][i].first])
            {   d.push_back(v[nod][i].first);
                viz[v[nod][i].first]=1;
                dis[v[nod][i].first]=dis[nod]+v[nod][i].second;
            }
        }
    }
}
int main()
{   f>>n>>m>>x>>y;
    for(int i=1; i<=m; i++)
    {   int a, b, cost;
        f>>a>>b>>cost;
        v[a].push_back(make_pair(b, cost));
        v[b].push_back(make_pair(a, -cost));
    }
    Bfs(x);
    g<<dis[y];
    return 0;
}