Pagini recente » Cod sursa (job #854150) | Cod sursa (job #2976780) | Cod sursa (job #585323) | Cod sursa (job #2736217) | Cod sursa (job #2295101)
#include <iostream>
#include <fstream>
#define N 101
using namespace std;
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
//int **matrix;
int matrix[N][N];
int n;
cin >> n;
/*matrix = (int**)malloc(n*sizeof(int*));
for(int i = 1; i <= n; ++i)
matrix[i] = (int*)malloc(n*sizeof(int));*/
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= n; ++j){
cin >> matrix[i][j];
}
}
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= n; ++j){
for(int k = 1; k <= n; ++k){
if(matrix[j][i] && matrix[i][k] && j != k){
if(!matrix[j][k]){
matrix[j][k] = matrix[j][i] + matrix[i][k];
}
else{
matrix[j][k] = min(matrix[j][k], matrix[j][i]+matrix[i][k]);
}
}
}
}
}
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= n; ++j){
cout << matrix[i][j] << ' ';
}
cout << '\n';
}
/*for(int i = 1; i <= n; ++i){
free(matrix[i]);
}
free(matrix);*/
return 0;
}