Cod sursa(job #755400)

Utilizator dragosd2000Dumitrache Dragos dragosd2000 Data 5 iunie 2012 18:14:12
Problema Floyd-Warshall/Roy-Floyd Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>


using namespace std;

ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

int n;
float a[100][100];

void read()
{
	int i,j;
	fin>>n;
	for(i = 1;i<=n;i++)
		for(j=1;j<=n;j++)
			fin>>a[i][j];
}


void royfloyd()
{
	int k, 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][j] = a[i][k]+ a[k][j];
}


int main()
{
		read();
		royfloyd();
		int i,j;
		for(i=1;i<=n;i++)
			{
				for(j=1;j<=n;j++)
					fout<<a[i][j]<<" ";
				fout<<"\n";
			}
		return 0;
}