Cod sursa(job #1738372)

Utilizator Bulgaru_Robert_Razvan_323CBBulgaru Robert Razvan Bulgaru_Robert_Razvan_323CB Data 6 august 2016 16:27:41
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include <climits>

using namespace std;

#define N 100

int matrix[N][N];

int n;

int min(int a,int b) {
	return (a<=b?a:b);
}

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

void RoyFloyd() {
	for (int k=0;k<n;k++) {
		for (int i=0;i<n;i++) {
			for (int j=0;j<n;j++) {
				if (i!=j && i!=k && k!=j && matrix[i][j]>matrix[i][k]+matrix[k][j]) {
					matrix[i][j]=matrix[i][k]+matrix[k][j];
				}
			}
		}
	}
}

int main() {
	in>>n;

	for (int i=0;i<n;i++) {
		for (int j=0;j<n;j++) {
			in>>matrix[i][j];
		}
	}

	RoyFloyd();

	for (int i=0;i<n;i++) {
		for (int j=0;j<n;j++) {
			out<<matrix[i][j]<<" ";
		}

		out<<"\n";
	}

	return 0;
}