Cod sursa(job #655421)

Utilizator noobakafloFlorin eu noobakaflo Data 2 ianuarie 2012 16:03:03
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<iostream>
#include<fstream>
using namespace std;

fstream g("royfloyd.out",ios::out);

void Citeste(int &n,int C[101][101])
{
	int i,j;
	fstream f("royfloyd.in",ios::in);
	f>>n;
	for(i=1; i<=n; i++)
		for(j=1; j<=n; j++)
			f>>C[i][j];
	f.close();
}

void Roy_Floyd(int n,int C[101][101])
{
	int k,i,j;
	for(k=1; k<=n; k++)
		for(i=1; i<=n; i++)
			for(j=1; j<=n; j++)
				if(C[i][j]>C[i][k]+C[k][j])
					C[i][j]=C[i][k]+C[k][j];
}

void Afiseaza(int n,int C[101][101])
{
	
	int i,j;
	fstream g("royfloyd.out",ios::out);
	for(i=1; i<=n; i++)
	{
		for(j=1; j<=n; j++)
			g<<C[i][j]<<" ";
		g<<"\n";
	}
	g.close();
}


int main()
{
	int n,C[101][101];
	Citeste(n,C);
	Roy_Floyd(n,C);
	Afiseaza(n,C);
	return 0;
}