Cod sursa(job #554968)

Utilizator sabina67Zavoianu Sabina sabina67 Data 15 martie 2011 10:50:20
Problema Sate Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
# include <stdio.h>
#include <vector>
#include <queue>
#define N 10010
using namespace std;

int n,m,x,y;
vector<vector<pair<int, int> > >G;
int verif[N];
void sate (int x, int p)
{
	if(x==y)
	{
		printf("%d",p);
		return;
	}
	int i;
	for(i=0;i<G[x].size();i++)
		if(verif[G[x][i].first]==0)
		{
			verif[G[x][i].first]=1;
			sate (G[x][i].first,p+G[x][i].second);
		}
}
void read()
{
	int a,b,c;
	scanf("%d%d%d%d",&n,&m,&x,&y);
	G.resize(n+1);
	int i;
	for(i=1;i<=m;i++)
	{
		scanf("%d%d%d",&a,&b,&c);
		G[a].push_back(make_pair(b,c));
		G[b].push_back(make_pair(a,-c));
	}
}		
int main ()
{
	freopen("sate.in","r",stdin);
	freopen("sate.out","w",stdout);
	read();
	sate(x,0);
	return 0;
}