Cod sursa(job #886850)

Utilizator botixMagyarosi Botond botix Data 23 februarie 2013 12:47:50
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <stdio.h>

int t[101][101];

int main()
{
	int n;

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

	fscanf(f, "%d", &n);
	
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			fscanf(f, "%d", &t[i][j]);
		}
	}

	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			for(int k=1; k<=n; k++)
			{
				if((k!=i)&&(k!=j)&&(t[i][k]+t[k][j]<t[i][j])) t[i][j] = t[i][k] + t[k][j];
			}
		}
	}
	
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			fprintf(g, "%d ", t[i][j]);
		}
		fprintf(g, "\n");
	}
}