Cod sursa(job #3189432)

Utilizator diana_dd03Dorneanu Diana diana_dd03 Data 5 ianuarie 2024 13:30:39
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("sate.in");
ofstream fout("sate.out");

vector<pair<int, int>>L[30005];
queue<int>q;
int d[30005], dist[30005], vis[30005];
int n, m, X, Y;

void BFS(int nod){
    q.push(nod);
    dist[nod]=0;
    vis[nod]=1;
    while(!q.empty()){
        int u=q.front();
        q.pop();
        for(auto i : L[u]){
            int v=i.first;
            if(vis[v]==0){
                vis[v]=1;
                dist[v]=dist[u]+i.second;
                q.push(v);
            }
        }
    }

}

int main(){
    fin>>n>>m>>X>>Y;
    for(int i=1;i<=m;i++){
        int a, b, c;
        fin>>a>>b>>c;
        L[a].push_back({b, c});
        L[b].push_back({a, -c});
    }
    BFS(X);
    fout<<dist[Y];
    return 0;
}