Cod sursa(job #2829154)

Utilizator Adiiii4231Ravas Adrian Georgel Adiiii4231 Data 8 ianuarie 2022 12:52:08
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int inf = 999999999;

int main()
{
	int n;
	fi >> n;
	static int d[101][101];
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			fi >> d[i][j];
		}
	}
	int aux = 1;
	while (aux == 1)
	{
		aux = 0;
		for (int i = 1; i <= n; i++)
		{
			for (int j = 1; j <= n; j++)
			{
				for (int k = 1; k <= n; k++)
				{
					if (k != i && k != j)
					{
						if (d[i][k] + d[k][j] < d[i][j])
						{
							d[i][j] = d[i][k] + d[k][j];
							aux = 1;
						}
					}
				}
			}
		}
	}
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			fo << d[i][j] << " ";
		}
		fo << endl;
	}
}