Pagini recente » Cod sursa (job #392492) | Rating Popa Stefan Andrei (StefanAndrei21) | Cod sursa (job #2947621) | Cod sursa (job #229696) | Cod sursa (job #1455231)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
int N , c[101][101] ;
void Citire ()
{
fin >> N ;
int i , j ;
for ( i =1 ; i <= N ; ++ i )
for ( j = 1 ; j <= N ; ++ j )
fin >> c[i][j];
}
void RoyFloyd ()
{
int i ,j ,k ;
for ( k = 1 ; k <= N ; ++ k )
for ( i =1 ; i <= N ; ++ i )
for ( j = 1 ; j <= N ; ++ j )
if ( c [i][k] * c [k][j] != 0 && (c [i][j] >= c [i][k] + c [k][j] || !c [i][j] ) && i != j )
c [i][j] = c [i][k] + c [k][j] ;
else
c[i][j] = c [i][j] ;
for ( i =1 ; i <= N ; ++ i )
{
for ( j = 1 ; j <= N ; ++ j )
fout << c [i][j] <<" ";
fout<< "\n" ;
}
}
int main()
{
Citire();
RoyFloyd () ;
return 0;
}