Pagini recente » Cod sursa (job #61112) | Cod sursa (job #252020) | Cod sursa (job #973716) | Cod sursa (job #2839803) | Cod sursa (job #880778)
Cod sursa(job #880778)
#include<cstdio>
#include<fstream>
using namespace std;
int n , a[101][101] , d[101][101] ;
void citire();
void royfloyd();
void tipar();
int main()
{
citire();
royfloyd();
tipar();
return 0;
}
void citire()
{
freopen("royfloyd.in" , "r" , stdin );
scanf("%d" , &n );
for( int i = 1 ; i<= n ; ++i )
for(int j = 1 ; j <= n ; ++j)
scanf("%d" , &d[i][j]);
}
void royfloyd()
{
for( int k = 1 ; k <= n ; ++k )
for ( int i = 1 ; i <= n ; ++i )
for( int j = 1 ; j<= n ; ++j )
if((d[i][j] > d[i][k] + d[k][j] || (!d[i][j])) && d[i][k]&&d[k][j]&&i!=j)
d[i][j] = d[i][k] + d[k][j];
}
void tipar()
{
freopen("royfloyd.out" , "w" , stdout );
for( int i = 1 ; i<= n ; ++i )
{
for( int j = 1 ; j<= n ; ++j )
printf("%d " , d[i][j] );
printf("\n");
}
}