Cod sursa(job #2744426)

Utilizator dream3rDavid Pop dream3r Data 24 aprilie 2021 18:10:17
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <cstring>
#include <queue>
#include <stack>
using namespace std;
ifstream f("royfloyd.in");
ofstream o("royfloyd.out");

int main()
{
	int a[105][105];
	int n;
	f >> n;
	for (size_t i = 0; i < n; i++)
	{
		for (size_t j = 0; j < n; j++)
		{
			f >> a[i][j];
		}
	}

	for (size_t k = 0; k < n; k++)
	{
		for (size_t i = 0; i < n; i++)
		{
			for (size_t j = 0; j < n; j++)
			{
				if (i != j && a[i][k] != 0 && a[k][j] != 0 && a[i][j] != 0)
				{
					a[i][j] = min(a[i][j], a[i][k] + a[k][j]);
				}
			}
		}
	}

	for (size_t i = 0; i < n; i++)
	{
		for (size_t j = 0; j < n; j++)
		{
			o << a[i][j] << " \n"[j == n - 1];
		}
	}

}