Pagini recente » Cod sursa (job #2397481) | Cod sursa (job #2200589) | Istoria paginii runda/iconcurs13/clasament | Cod sursa (job #2226655) | Cod sursa (job #1450734)
#include <stdio.h>
#include <stdlib.h>
int array[100][100], n;
void citire(){
scanf("%d", &n);
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n ; j++)
scanf("%d", &array[i][j]);
}
void shortest_road(){
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
for(int k = 1; k <= n; k++)
if(array[i][k] && array[k][j] && (i != j) && (array[i][j] > array[i][k] + array[k][j] || !array[i][j]))
array[i][j] = array[i][k] + array[k][j];
}
void afisare(){
for(int i = 1 ; i <= n; i++){
for(int j = 1; j <= n; j++)
printf("%d ", array[i][j]);
printf("\n");
}
}
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
citire();
shortest_road();
afisare();
return 0;
}