Cod sursa(job #1466744)

Utilizator Player1Player 1 Player1 Data 30 iulie 2015 03:47:58
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>

int main(){
	int N, A[101][101], i, j, k;
	
	freopen("royfloyd.in","r",stdin);
	freopen("royfloyd.out","w",stdout);
	
	scanf("%d ", &N);
	for (i = 0; i < N; i++)
		for(j = 0; j < N; j++)
			scanf("%d ", &A[i][j]);
			
	for (k = 1; k <= N; k++)
        for (i = 1; i <= N; i++)
            for (j = 1; j <= N; 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 = 0; i < N; i++){
		for(j = 0; j < N; j++)
			printf("%d ", &A[i][j]);
		printf("\n");
	}
				
	return 0;
}