Cod sursa(job #2722767)

Utilizator Rares31100Popa Rares Rares31100 Data 13 martie 2021 11:55:23
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
#define INF 1 << 26

using namespace std;

ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int n, a[101][101];

int main()
{
	in >> n;
	
	for(int i = 1; i <= n; i++)
		for(int j = 1, val; j <= n; j++)
		{
			in >> val;
			if(val == 0 && i != j)
				a[i][j] = INF;
			else
				a[i][j] = val;
		}
		
	for(int k = 1; k <= n; k++)
		for(int i = 1; i <= n; i++)
			for(int j = 1; j <= n; j++)
				a[i][j] = min(a[i][j], a[i][k] + a[k][j]);
				
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= n; j++)
			if(a[i][j] != INF)
				out << a[i][j] << ' ';
			else
				out << 0 << ' ';
		out << '\n';
	}
	
	return 0;
}