Cod sursa(job #561977)

Utilizator mjhonMisa Jhon mjhon Data 22 martie 2011 04:45:51
Problema Sate Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<iostream>
#include<fstream>
#include<stdio.h>
using namespace std;
int n,viz[10000],m,x,y,a[10000][10000],c[100000];
long d[1000];
int parcurg(int i)
{
	viz[i]=1; int ok;
	int j,u,p;
	p=1;
	u=1;
	c[p]=i;ok=0;
	while((p<=u) &&(!ok))
	{
		for(j=1;j<=n;j++)
			if((a[c[p]][j]!=0)&&(viz[j]==0))
			{
				u++;
				c[u]=j;
				viz[j]=1;
				if(c[p]<j)
					d[j]=d[c[p]]+a[c[p]][j];
				else
					d[j]=d[c[p]]-a[c[p]][j];
				if (j==y)
				 ok=1;
			}
			p++;
	}
}

int main()
{
	ifstream f("sate.in");
	f>>n>>m;
	f>>x>>y;
	int i,i1,j1,c;
	for(i=1;i<=m;i++)
	{
		f>>i1>>j1>>c;
		a[i1][j1]=c;
		a[j1][i1]=c;
	}
	parcurg(x);
	ofstream g("sate.out");
	g<<d[y];
	return 0;
}