Cod sursa(job #893313)

Utilizator linerunnerMihai Ion linerunner Data 26 februarie 2013 14:53:41
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int i,j,k,n,d[100][100];
int drumuri(int d[100][100])
{ for(k=1 ; k<=n ; k++);
	for(i=1 ; i<=n ; i++)
	  for(j=1 ; j<=n ; j++)
		  if ((d[i][k]!=0) && (d[k][j]!=0) && (i!=j) &&
			 ((d[i][k]+d[k][j]<d[i][j]) || (d[i][j]=0))) d[i][j]=d[i][k]+d[k][j] ;
}
int main()
{ f>>n ;
for (i=1 ; i<=n ; i++)
	for (j=1 ; j<=n ; j++)
	f>>d[i][j];

drumuri(d);
for (i=1 ; i<=n ; i++){
	for (j=1 ; j<=n ; j++)
		g<<d[i][j]<<" ";
	g<<'\n';
}
f.close();
g.close();
return 0;
}