Cod sursa(job #2296513)

Utilizator ptudortudor P ptudor Data 4 decembrie 2018 19:05:06
Problema Sate Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("sate.in");
ofstream out("sate.out");
int n,m,x,y,dis[30005];
queue <pair<int,int>> sate[30005];
queue <int> q;
int main()
{int i,a,b,c;
    in>>n>>m>>x>>y;
    for (i=1;i<=m;i++)
    {
        in>>a>>b>>c;
        sate[a].push({b,c});
        sate[b].push({a,-1*c});
    }

   q.push(x);
    while (!q.empty())
    {
        c=q.front();
        q.pop();
        while (!sate[c].empty())
        {
        int trimitor=sate[c].front().first,distanta=sate[c].front().second;
        dis[trimitor]=dis[c]+distanta;
        q.push(trimitor);
        sate[c].pop();
        }
    }
    out<<dis[y]<<"\n";
    out.close();
    in.close();
    return 0;
}