Cod sursa(job #2424391)

Utilizator RaulG99Gioanca Raul RaulG99 Data 22 mai 2019 22:42:55
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb

#include <iostream>
#include <fstream>

using namespace std;

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

int mat[101][101], n;

void citire()
{
	for(int i=0;i<n;i++)
		for (int j = 0; j < n; j++)
		{
			f >> mat[i][j];
		}
}


int main()
{
	f >> n;
	
	citire();

	for (int k = 0; k < n; k++)
	{
		for (int i = 0; i < n; i++)
		{
			for (int j = 0; j < n; j++)
			{
				if (mat[i][j] > mat[i][k] + mat[k][j] || mat[i][j] == 0)
					if (i != j && mat[i][k] != 0 && mat[k][j] != 0)
						mat[i][j] = mat[i][k] + mat[k][j];
			}
		}
	}

	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			
			g << mat[i][j] << " ";
		}
		g << "\n";
	}

}