Cod sursa(job #3293737)

Utilizator anatolieursuursu anatolie anatolieursu Data 12 aprilie 2025 14:17:15
Problema Sate Scor 45
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <bits/stdc++.h>

using namespace std;
#define inf 1e9

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

int main(){
    int n, m, x, y;
    fin >> n >> m >> x >> y;
    vector<vector<int>> graf(n+1, vector<int> (n+1, 0));

    for(int i = 1; i<=m; i++){
        int u, v, c;
        fin >> u >> v >> c;
        graf[u][v] = c;
        graf[v][u] = -c;
    }
    queue<int> q;
    vector<int> vis(n+1, false);
    vector<int> dis(n+1, inf);
    dis[x] = 0;
    q.push(x);
    while(!q.empty()){
        int node = q.front();
        q.pop();
        for(int j = 1; j<=n; j++){
            if(graf[node][j]){
                if(!vis[j]){
                    dis[j] = min(dis[j], dis[node]+graf[node][j]);
                    vis[j] = 1;
                    q.push(j);
                    if(j == y){
                        fout << dis[y] << endl;
                        return 0;
                    }
                }
            }
        }
    }
}