Cod sursa(job #2424388)

Utilizator RaulG99Gioanca Raul RaulG99 Data 22 mai 2019 22:39:11
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 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 (i == j || j == k || i == k) continue;

				if (mat[i][j] > mat[i][k] + mat[k][j])
				{
					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";
	}

}