Cod sursa(job #1878733)

Utilizator marcdariaDaria Marc marcdaria Data 14 februarie 2017 13:56:58
Problema Sate Scor 0
Compilator cpp Status done
Runda becreative15 Marime 0.82 kb
#include <fstream>
#include <vector>

using namespace std;

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

using PII = pair<int,int>;

const int MaxN=30005;

vector<PII> G[MaxN];
int N,M,X,Y;
int viz[MaxN];

void Read();
void DFS(int x);

int main()
{
    Read();
    DFS(X);

    fout<<viz[Y]<<'\n';

    fout.close();

    return 0;
}

void Read()
{
    fin>>N>>M>>X>>Y;

    if(X>Y) swap(X,Y);

    while(M--)
        {
            int x,y,z;
            fin>>x>>y>>z;
            G[x].push_back({y,z});
            G[y].push_back({y,-z});
    }
}
void DFS(int x)
{
    for(auto y : G[x])
        {
           int x_nou=y.first;
           int dx=y.second;
           if(!viz[x_nou])
           {
              viz[x_nou]=viz[x]+dx;
              DFS(x_nou);
        }
    }
}