Cod sursa(job #698236)

Utilizator btamasyaBorsos Tamas btamasya Data 29 februarie 2012 13:01:55
Problema Ubuntzei Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<iostream>
#include<fstream>
using namespace std; 
int main ()
{
	int i, j, k, n, t[500][500], m, el[500][4], c[500];
	fstream f, g;
	f.open ("ubuntzei.in", ios::in);
	f>>n>>m;
	f>>k;
	for (i=1; i<=k; i++)
		f>>c[i];
	for (i=1; i<=m; i++)
		f>>el[i][1]>>el[i][2]>>el[i][3];
	for (i=1; i<=m; i++)
	{
		t[el[i][1]][el[i][2]]=el[i][3];
		t[el[i][2]][el[i][1]]=el[i][3];
	}
	for (i=1; i<=n; i++)
		for (j=1; j<=n; j++)
		{
			if ((i!=j)&&(t[i][j]==0)) t[i][j]=1000;
		}
	for (k=1; k<=n; k++)
		for (i=1; i<=n; i++)
				for (j=1; j<=n; j++)
					if ((t[i][k]!=0)&&(t[k][j]!=0)&&(t[i][k]+t[k][j]<t[i][j]))
						t[i][j]=t[i][k]+t[k][j];
	/*for (i=1; i<=n; i++)
	{
		for (j=1; j<=n; j++)
			cout<<t[i][j]<<' ';
		cout<<endl;
	}*/
	g.open ("ubuntzei.out", ios::out);
	g<<t[1][n];
}