Pagini recente » Cod sursa (job #2770979) | Cod sursa (job #892949) | Cod sursa (job #3289757) | Cod sursa (job #3153541) | Cod sursa (job #1238268)
#include<cstdio>
using namespace std;
#define MAX 101
int N , dist[MAX][MAX];
int main()
{
freopen("royfloyd.in" , "r" , stdin );
freopen("royfloyd.out" , "w" , stdout );
scanf("%d" , &N );
for(int i = 1 ; i <= N ; ++i )
for(int j = 1 ; j <= N ; ++j )
scanf("%d" , &dist[i][j] );
for(int k = 1 ; k <= N ; ++k )
for(int i = 1 ; i <= N ; ++i )
for(int j = 1 ; j <= N ; ++j )
if( i!= j && dist[i][k] && dist[k][j] && (!dist[i][j] || dist[i][j] > dist[i][k] + dist[k][j]))
dist[i][j] = dist[i][k] + dist[k][j];
for(int i = 1 ; i <= N ; ++i )
{
for(int j = 1 ; j <= N ; ++j )
printf("%d " , dist[i][j] );
printf("\n");
}
return 0;
}