Cod sursa(job #1071164)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 2 ianuarie 2014 17:46:26
Problema Sate Scor 80
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.87 kb
#include<fstream>
#include<vector>
#include<utility>
#define NMAX 30010
#define f first
#define s second

using namespace std;

ifstream f("sate.in");
ofstream g("sate.out");

vector<pair<int, int> > a[NMAX];

long long D[NMAX];
int n, m, X, Y, vz[NMAX];

void Citeste()
{
    int x, y, z, i;

    f>>n>>m>>X>>Y;

    for (i=1; i<=m; ++i)
    {
        f>>x>>y>>z;
        a[x].push_back(make_pair(y, z));
        a[y].push_back(make_pair(x, z*(-1)));
    }
}

void DFS(int nod)
{
    int i;
    pair<int, int> pr;

    vz[nod]=1;

    for (i=0; i<a[nod].size(); ++i)
    {
        pr=a[nod][i];

        if (!vz[pr.f])
        {
            D[pr.f]=D[nod]+(long long)pr.s;
            DFS(pr.f);
        }
    }
}

int main()
{
    Citeste();

    DFS(X);

    g<<D[Y]<<"\n";

    f.close();
    g.close();
    return 0;
}