Cod sursa(job #1438487)

Utilizator roberta9533Pavel Roberta roberta9533 Data 20 mai 2015 00:11:28
Problema Sate Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
vector <pair <int,int> > G[30001];
int viz[30001],c[30001];

void dfs(int x,int y)
{
    viz[x]=1;
    for(int i=0;i<G[x].size();i++)
    {
        if(viz[G[x][i].first]==0)
        {
            c[G[x][i].first]=c[x]+G[x][i].second;
            dfs(G[x][i].first,y);
            if(G[x][i].first==y)
                return;
        }
    }
}

int main()
{
    int n,m,x,y,a,b,d;
    f>>n>>m>>x>>y;
    for(int i=1;i<=m;i++)
    {
        f>>a>>b>>d;
        G[a].push_back(make_pair(b,d));
        G[b].push_back(make_pair(a,-d));
    }
    dfs(x,y);
    g<<c[y];
    return 0;
}