Cod sursa(job #2231656)

Utilizator Silviu.Stancioiu@gmail.comSilviu Stancioiu [email protected] Data 15 august 2018 15:11:18
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>

#define MAX_N 105

using namespace std;

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

int n;
int ponderi[MAX_N][MAX_N] = { 0 };

void RoyFloyd()
{
	for (int k = 1; k <= n; k++)
	{
		for (int i = 1; i <= n; i++)
		{
			for (int j = 1; j <= n; j++)
			{
				if (ponderi[i][k] + ponderi[k][j] < ponderi[i][j])
				{
					ponderi[i][j] = ponderi[i][k] + ponderi[k][j];
				}
			}
		}
	}
}

int main(void)
{
	fin >> n;

	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			fin >> ponderi[i][j];
		}
	}

	RoyFloyd();

	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			fout << ponderi[i][j] << " ";
		}
		fout << endl;
	}

	fin.close();
	fout.close();

	return 0;
}