Cod sursa(job #2370504)

Utilizator dragossofiaSofia Dragos dragossofia Data 6 martie 2019 12:25:56
Problema Sate Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
vector<int>ad[30001],cost[30001];
int N,M,X,Y,dist[30001] ,viz[30001],gata;
void read ()
{int i,x,y,c;
 fin>>N>>M>>X>>Y;
 for(i=1;i<=M;i++)
    {fin>>x>>y>>c;
     ad[x].push_back(y);
     cost[x].push_back(c);
     ad[y].push_back(x);
     cost[y].push_back(c);
    }
   fin.close();
 }
void dfs(int nod)
{viz[nod]=1;
 int w;
 for(int i=0;i<ad[nod].size();i++)
   if(!viz[ad[nod][i]])
    {w=ad[nod][i];
     if(w<nod)dist[w]=dist[nod]-cost[nod][i];
     else dist[w]=dist[nod]+cost[nod][i];
     dfs(w);
    }
}
int main()
{   read();
    dfs(X);
    fout<<dist[Y];
    fout.close();
    return 0;
}