Cod sursa(job #1124652)

Utilizator bogdanrusRus Bogdan bogdanrus Data 26 februarie 2014 13:04:28
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>

int n, a[105][105];

void fw_rf () {	
	
	int i, j, k;
	
	for (k=1; k<=n; ++k) 
		for (i=1; i<=n; ++i)
			for (j=1; j<=n; ++j) {
				if (a[i][j] > a[i][k]+a[k][j]) {
					a[i][j] = a[i][k]+a[k][j];
				}
			} 
	
	for (i=1; i<=n; ++i) {
		for (j=1; j<=n; ++j) {
			printf(" %d", a[i][j]);
		}
		printf("\n");
	}
}

int main (void) {
	int res;
	
	freopen("royfloyd.in","r",stdin);
	freopen("royfloyd.out","w",stdout);
	
	int i, j;
	scanf("%d", &n);
	for (i=1; i<=n; ++i) {
		for (j=1; j<=n; ++j) {
			scanf("%d", &a[i][j]);
		}
	}
	
	fw_rf();

return 0;
}