Cod sursa(job #904152)

Utilizator PregatireONIAnamaria Cotirlea PregatireONI Data 3 martie 2013 20:01:54
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>
#include <algorithm>

using namespace std;

FILE *f,*s;

int i,j,k,n;

int v[105][105];

int main()
{
	f=fopen("royfloyd.in","r");
	s=fopen("royfloyd.out","w");
	
	fscanf(f,"%d",&n);
	
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			fscanf(f,"%d",&v[i][j]);
	
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			for(k=1;k<=n;k++)
				if(v[i][k] && v[k][j] && v[i][k]+v[k][j]<v[i][j])
					v[i][j]=v[i][k]+v[k][j];
	
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=n;j++)
			fprintf(s,"%d ",v[i][j]);
		
		fprintf(s,"\n");
	}
	
	fclose(s);
	
	return 0;
}