Cod sursa(job #1391468)

Utilizator AlexandraaaaMereu Alexandra Alexandraaaa Data 17 martie 2015 23:02:24
Problema Sate Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <vector>
#define Maxn 30005 

using namespace std;

ifstream f("sate.in");
ofstream g("sate.out");
vector < pair <int, int> > G[Maxn];
int dist[Maxn], b;

void df(int s)
{
	if (dist[b]) return;
	for (vector < pair <int, int> >::iterator i = G[s].begin(); i != G[s].end(); ++i)
		if (!dist[i -> first]){
			dist[i->first] = dist[s] + i -> second;
			df(i->first);
		}
}

int main()
{
	int v, e, a, b, i,x, y, d;
	f >> v >> e >> a >> b;
	for (i = 1; i <= v; i++) {
		f >> x >> y >> d;
		G[x].push_back(make_pair(y, d));
		G[y].push_back(make_pair(x, -d));
	}
	df(a);
	g << dist[b]- dist[a];
	f.close();
	g.close();
	getchar();
	return 0;
}