Pagini recente » Cod sursa (job #697565) | Cod sursa (job #1352375) | Cod sursa (job #367510) | Cod sursa (job #627225) | Cod sursa (job #2559333)
#include <fstream>
#define N 101
#define inf 1000001
using namespace std;
ifstream f ( "royfloyd.in" );
ofstream g ( "royfloyd.out" );
int d[N][N];
int main()
{ int n, i, j, k;
f >> n;
for ( i = 1; i <= n; i++ )
for ( j = 1; j <= n; j++ ){
f >> d[i][j];
if ( d[i][j] == 0 )
d[i][j] = inf;
}
for ( k = 1; k <= n; k++ )
for ( i = 1; i <= n; i++ )
for ( j = 1; j <= n; j++ )
if ( d[i][k] != inf && d[k][j] != inf && i != j )
d[i][j] = min ( d[i][j], d[i][k] + d[k][j] );
for ( i = 1; i <= n; i++ ){
for ( j = 1; j <= n; j++ )
if ( d[i][j] != inf )
g << d[i][j] << ' ';
else
g << 0 << ' ';
g << '\n';
}
return 0;
}