Pagini recente » Cod sursa (job #2277117) | Cod sursa (job #2734490) | Cod sursa (job #1587070) | Cod sursa (job #870959) | Cod sursa (job #1565673)
#include <stdio.h>
#include <vector>
#define N_MAX 103
#define MIN(a, b) (a < b ? a : b)
using namespace std;
int n;
vector<int> adiac[N_MAX];
inline void citire();
void Floyd_Warshall();
inline void afisare();
int main()
{
citire();
Floyd_Warshall();
afisare();
return 0;
}
inline void citire(){
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d", &n);
int i, j;
int x;
for (i = 0; i < n; ++i){
for (j = 0; j < n; ++j){
scanf("%d", &x);
adiac[i].push_back(x);
}
}
}
void Floyd_Warshall(){
int x, y, z;
for (z = 0; z < n; ++z)
for (x = 0; x < n; ++x)
for (y = 0; y < n; ++y)
adiac[x][y] = MIN(adiac[x][z] + adiac[z][y], adiac[x][y]);
}
inline void afisare(){
int i, j;
for (i = 0; i < n; ++i){
for (j = 0; j < n; ++j){
printf("%d ", adiac[i][j]);
}
printf("\n");
}
}