Cod sursa(job #1228882)

Utilizator george_stelianChichirim George george_stelian Data 15 septembrie 2014 18:50:15
Problema Sate Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>
#include <vector>

using namespace std;

vector<pair<int,int> >v[30010];
int sol[30010],n,m,a,b,x,y,c,i;
char vaz[30010];

void dfs(int nod)
{
    vector<pair<int,int> >::iterator it;
    vaz[nod]=1;
    for(it=v[nod].begin();it!=v[nod].end();it++)
        if(!vaz[it -> first])
        {
            sol[it -> first]=sol[nod] + it -> second;
            dfs(it -> first);
        }
}

int main()
{
    freopen("sate.in", "r", stdin);
    freopen("sate.out", "w", stdout);
    scanf("%d%d%d%d",&n,&m,&a,&b);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d%d",&x,&y,&c);
        v[x].push_back(make_pair(y,c));
        v[y].push_back(make_pair(x,-c));
    }
    dfs(a);
    printf("%d",sol[b]);
    return 0;
}