Cod sursa(job #314710)

Utilizator stanesealexStanese Alex stanesealex Data 12 mai 2009 17:53:29
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<cstdio>
using namespace std;

int a[110][110];

int main()
{
	int n,i,j,k;
	FILE *f=fopen("royfloyd.in","r");
	FILE *g=fopen("royfloyd.out","w");
	fscanf(f,"%d ",&n);
	for (i=1;i<=n;i++)
		for (j=1;j<=n;j++)
		fscanf(f,"%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][j]>a[i][k]+a[k][j]&&a[i][k]!=0&&a[k][j]!=0&&i!=j&&a[i][j]!=0)
							a[i][j]=a[i][k]+a[k][j];
					}
	for (i=1;i<=n;i++)
		{
			for (j=1;j<=n;j++)
			fprintf(g,"%d ",a[i][j]);
			fprintf(g,"\n");
		}		
	fclose(f);
	fclose(g);
	return 0; 
}