Cod sursa(job #893355)

Utilizator linerunnerMihai Ion linerunner Data 26 februarie 2013 15:15:45
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 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 main()
{ f>>n ;
for (i=1 ; i<=n ; i++)
	for (j=1 ; j<=n ; j++)
	f>>d[i][j];

for(k=1 ; k<=n ; k++);
	for(i=1 ; i<=n ; i++)
	  for(j=1 ; j<=n ; j++)
		  if (d[i][k] && d[k][j]  && (d[i][k]+d[k][j]<d[i][j]|| !d[i][j]) && i!=j) d[i][j]=d[i][k]+d[k][j] ;

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