Pagini recente » Cod sursa (job #1127663) | Cod sursa (job #1205156) | Cod sursa (job #560119) | Cod sursa (job #751904) | Cod sursa (job #1868371)
#include <cstdio>
using namespace std;
const int MAX_N = 100;
int Cost[MAX_N + 5][MAX_N + 5];
int Dist[MAX_N + 5][MAX_N + 5];
int main(){
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
int N;
scanf("%d", &N);
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++){
scanf("%d", &Dist[i][j]);
if (Dist[i][j] == 0)
Dist[i][j] = 1005;
}
for (int k = 0; k < N; k++)
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
if (Dist[i][j] > Dist[i][k] + Dist[k][j])
Dist[i][j] = Dist[i][k] + Dist[k][j];
for (int i = 0; i < N; i++){
for (int j = 0; j < N; j++)
if (i != j)
printf("%d ", Dist[i][j]);
else
printf("0 ");
printf("\n");
}
return 0;
}