Cod sursa(job #1855941)

Utilizator ArkinyStoica Alex Arkiny Data 24 ianuarie 2017 13:18:19
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
#include<vector>
#include<iostream>
#include<chrono>
using namespace std;

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

int D[110][110];

int main()
{
	int N;

	in >> N;

	for (int i = 1; i <= N; ++i)
		for (int j = 1; j <= N; ++j)
			in >> D[i][j];

	for (int k = 1; k <= N; ++k)
		for (int i = 1; i <= N; ++i)
			for (int j = 1; j <= N; ++j)
				if (i != j && i != k && j != k && D[i][k] != 0 && D[k][j] != 0 && D[i][j] > D[i][k] + D[k][j])
					D[i][j] = D[i][k] + D[k][j];

	for (int i = 1; i <= N; ++i)
	{
		for (int j = 1; j <= N; ++j)
			out << D[i][j] << " ";
		out << "\n";
	}

	return 0;
}