Cod sursa(job #1404217)

Utilizator StefanRARapeanu-Andreescu Stefan StefanRA Data 27 martie 2015 21:53:42
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
int n, i, j, k, v[100][100];
std::ifstream fin("royfloyd.in");
std::ofstream fout("royfloyd.out");
int main()
{
	fin>>n;
	for (i=0;i<n;i++)
		for (j=0;j<n;j++)
		{
			fin>>v[i][j];
			if (v[i][j]==0 && i!=j)
				v[i][j]=1001;
		}
	for (k=0;k<n;k++)
		for (i=0;i<n;i++)
			for (j=0;j<n;j++)
			{
				if (v[i][j]>v[i][k]+v[k][j])
					v[i][j]=v[i][k]+v[k][j];
			}
	for (i=0;i<n;i++)
	{
		for (j=0;j<n;j++)
		{
			if (v[i][j]<1001)
				fout<<v[i][j];
			else
				fout<<0;
			fout<<' ';
		}
		fout<<'\n';
	}
	return 0;
}