Cod sursa(job #2551894)

Utilizator mariamirabella2Bucur-Sabau Maria-Mirabela mariamirabella2 Data 20 februarie 2020 12:21:51
Problema Sate Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream cin("sate.in");
ofstream cout("sate.out");

vector<pair<int,int>>vecini[100205];
int viz[30005],dist[30005],x1,y1,d,n,m,x,y;

void dfs(int nod){
    viz[nod]=1;
    for(auto i:vecini[nod]){
        if(!viz[i.first]){
            dist[i.first]=dist[nod]+i.second;
            dfs(i.first);
        }
    }
}

int main()
{
    cin>>n>>m>>x>>y;
    for(int i=1;i<=m;i++){
        cin>>x1>>y1>>d;
        vecini[x1].push_back({y1,d});
        vecini[y1].push_back({x1,-d});
    }
    viz[x]=1;
    dfs(x);
    if(viz[y]!=1){
        cout<<-1;
        return 0;
    }
    cout<<abs(dist[y]);
    return 0;
}