Pagini recente » Cod sursa (job #237988) | Cod sursa (job #1857002) | Cod sursa (job #1685609) | Cod sursa (job #2040741)
//
// main.c
// floyd-warshall
//
// Created by Dan Mihai Vidican on 06/12/2017.
// Copyright © 2017 Dan Mihai Vidican. All rights reserved.
//
#include <stdio.h>
int main(void) {
int T;
int a[105][105];
int i,j,k;
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d", &T);
for(i=1; i<=T; i++)
for(j=1;j<=T;j++)
scanf("%d", &a[i][j]);
for(k=1;k<=T;k++)
for(i=1; i<=T; i++){
for(j=1;j<=T;j++)
if (a[i][k] && a[k][j] && (a[i][j] > a[i][k] + a[k][j] || !a[i][j]) && i != j) a[i][j] = a[i][k] + a[k][j];
}
for(i=1; i<=T; i++){
for(j=1; j<=T; j++) printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}