Cod sursa(job #3268658)

Utilizator Silviu643Dumitrescu Silviu Florian Silviu643 Data 16 ianuarie 2025 17:26:15
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream in("sate.in");
ofstream out("sate.out");
int n,m,x,y,a,b,d2;
int d[100025];
queue <int> q;
vector <pair <int, int> > v[100025];
void bfs(int s)
{
   q.push(s);
   d[s]=1;
   while(!q.empty())
   {
       int nod=q.front();
       q.pop();
       for(auto i:v[nod])
        if(!d[i.first])
       {
           q.push(i.first);
           d[i.first]=d[nod]+i.second;
       }
   }
}
int main()
{
    in>>n>>m>>x>>y;
    for(int i=1;i<=m;i++)
    {
        in>>a>>b>>d2;
        v[a].push_back({b,d2});
        v[b].push_back({a,-d2});
    }
    bfs(x);
    out<<d[y]-1;
    return 0;
}