Cod sursa(job #675877)

Utilizator DaninetDani Biro Daninet Data 8 februarie 2012 13:31:11
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<cstdio>

FILE *f = fopen("royfloyd.in", "r");
FILE *g = fopen("royfloyd.out", "w");

int a[101][101];
int n;

int main() {
	fscanf(f, "%d", &n);
	for(int i = 1; i<=n; i++)
		for(int j = 1; j<=n; j++) 
			fscanf(f,"%d", &a[i][j]);
	for(int i = 1; i<=n; i++)
		for(int j = 1; j<=n; j++) 
			for(int k = 1; k<=n; k++) 
				if(a[i][j] > a[i][k] + a[k][j])
					a[i][j] = a[i][k] + a[k][j];
					
	for(int i = 1; i<=n; i++) {
		for(int j = 1; j<=n; j++)
			fprintf(g,"%d ", a[i][j]);
		fprintf(g,"\n");
	}
	fclose(g);
}