Cod sursa(job #1726556)

Utilizator ade_tomiEnache Adelina ade_tomi Data 8 iulie 2016 13:05:33
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<iostream>
#include<vector>
#include<fstream>
#define NM 30003
using namespace std;
vector<pair<int,int> > v[NM];

int d[NM];

void dfs(int nod)
{

    for(int i=0;i<v[nod].size();i++)
    {
        int k,di;

        k=v[nod][i].first;
        di=v[nod][i].second;
        if(d[k]==0)
        {

            d[k]=d[nod]+di;
            dfs(k);
        }
    }

}
int i,n,m,a,b,dist,x,y;
int main()
{
    ifstream cin("sate.in");
    ofstream cout("sate.out");
    cin>>n>>m>>x>>y;
    for(i=1;i<=m;i++)
    {
        cin>>a>>b>>dist;
        if(a>b)
        {
            v[a].push_back(make_pair(b,-dist));
            v[b].push_back(make_pair(a,dist));
        }
        else
        {
            v[b].push_back(make_pair(a,-dist));
            v[a].push_back(make_pair(b,dist));
        }
    }


    dfs(1);
    cout<<d[y]-d[x-1];
    return 0;
}