Pagini recente » Cod sursa (job #163294) | Cod sursa (job #2299403) | Cod sursa (job #620019) | Cod sursa (job #2834392) | Cod sursa (job #1160606)
#include <cstdio>
using namespace std;
#define FILEIN "royfloyd.in"
#define FILEOUT "royfloyd.out"
#define NMAX 105
int RF[NMAX][NMAX];
int N;
int main() {
freopen(FILEIN, "r", stdin);
freopen(FILEOUT, "w", stdout);
scanf("%d", &N);
for ( int i = 1; i <= N; i++ ) {
for ( int j = 1; j <= N; j++ ) {
scanf("%d", &RF[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 ) {
if (!RF[i][k] || !RF[k][j])
continue;
if (!RF[i][j])
RF[i][j] = RF[i][k] + RF[k][j];
else if (RF[i][k] + RF[k][j] < RF[i][j])
RF[i][j] = RF[i][k] + RF[k][j];
}
}
}
}
for ( int i = 1; i <= N; i++ ) {
for ( int j = 1; j <= N; j++ ) {
printf("%d ", RF[i][j]);
}
printf("\n");
}
return 0;
}