Cod sursa(job #2426464)

Utilizator urweakurweak urweak Data 28 mai 2019 09:22:33
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>

using namespace std;

int v[1001][1001], n;

void roy_floyd()
{
	for(int k = 1; k<=n; k++)
		for(int i = 1; i<=n; i++)
			for(int j = 1; j<=n; j++)
				if (v[i][k] && v[k][j] && (v[i][j] > v[i][k] + v[k][j] || !v[i][j]) && i != j) v[i][j] = v[i][k] + v[k][j];
}

int main()
{
	ifstream fin("royfloyd.in");
	ofstream fout("royfloyd.out");
	fin >> n;
	for(int i = 1; i<=n; i++)
		for(int j = 1; j<=n; j++)
			fin >> v[i][j];
	roy_floyd();
	for(int i = 1; i<=n; i++)
	{
		for(int j = 1; j<=n; j++)
			fout << v[i][j] <<' ';
		fout <<'\n';
	}
}