Cod sursa(job #456891)

Utilizator gabipurcaruGabi Purcaru gabipurcaru Data 17 mai 2010 07:34:32
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <utility>
using namespace std;

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

int g[110][110],i,j,k,n;

int main()
{
	in>>n;
	for(i=1; i<=n; i++)
		for(j=1; j<=n; j++)
		{
			in>>g[i][j];
			if(!g[i][j])
				g[i][j] = 1<<15;
		}
	for(k=1; k<=n; k++)
		for(i=1; i<=n; i++)
			for(j=1; j<=n; j++)
				if(k!=i && k!=j)
					g[i][j] = min(g[i][j], g[k][j]+g[i][k]);
	for(i=1; i<=n; i++)
	{
		for(j=1; j<=n; j++)
			out<<(g[i][j]!=1<<15?g[i][j]:0)<<' ';
		out<<'\n';
	}
	return 0;
}