Pagini recente » Cod sursa (job #1660508) | Cod sursa (job #3284084) | Cod sursa (job #1571767) | Cod sursa (job #8971) | Cod sursa (job #584084)
Cod sursa(job #584084)
#include<fstream>
#include<cstdio>
using namespace std;
const int MaxN = 101;
const char InFile[] = "royfloyd.in";
const char OutFile[] = "royfloyd.out";
int N,D[MaxN][MaxN];
int main()
{
freopen( InFile , "r" , stdin );
freopen( OutFile , "w" , stdout );
int i,j,k;
scanf("%d" , &N);
for( i = 1 ; i <= N ; i++ )
for( j = 1 ; j <= N ; j++ )
scanf("%d" , D[i]+j);
for( k = 1 ; k <= N ; k++ )
for( i = 1 ; i <= N ; i++ )
for( j = 1 ; j <= N ; j++ )
if( i != j && j != k && i != k && (D[i][j] > D[i][k] + D[k][j] || !D[i][j]) )
D[i][j] = D[i][k] + D[k][j];
for( i = 1 ; i <= N ; i++ )
{
for( j = 1 ; j <= N ; j++ )
printf("%d " , D[i][j]);
printf("\n");
}
return 0;
}