Cod sursa(job #782263)

Utilizator stef1995mmarcu stefan ovidiu stef1995m Data 26 august 2012 16:03:48
Problema Sate Scor 0
Compilator cpp Status done
Runda #1 Marime 0.75 kb
#include<iostream>
#include<fstream>
#include<vector>
const int maxx=30002;
using namespace std;
int n,m,start,finish,i,a,b,c;
vector <pair<int,int> > x[maxx];
int main()
{	
	freopen("sate.in","r",stdin);
	freopen("sate.out","w",stdout);
	scanf("%d %d %d %d\n",&n,&m,&start,&finish);
	for(i=1;i<=m;i++)
	{
		scanf("%d %d %d\n",&a,&b,&c);
		x[a].push_back(make_pair(b,c));
		x[b].push_back(make_pair(a,c));
	}
	int nod=start,s=0;
	while(nod!=finish)
	{
		if(nod>x[nod][0].second)
			s-=x[nod][0].second;
		else
			s+=x[nod][0].second;
		for(i=0;i<x[x[nod][0].second].size();i++)
			if(x[x[nod][0].first][i].first==nod)
				x[x[nod][0].first].erase(x[x[nod][0].first].begin()+i);
		nod=x[nod][0].first;
	}
	printf("%d",s);
	return 0;
}