Cod sursa(job #1722965)

Utilizator dr_personalityEftime Andrei Horatiu dr_personality Data 29 iunie 2016 14:09:10
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");

const int nmax = 106;
int n, mat[nmax][nmax];

int main(){
	int player_unu=0;

	in>>n;
	for(int i = 1; i<=n; i++)
		for(int j = 1; j<=n; j++)
			in>>mat[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 && mat[i][k]!=0 && mat[k][j]!=0 && (mat[i][j]>mat[i][k] + mat[k][j] || mat[i][j]==0))
					mat[i][j] = mat[i][k] + mat[k][j];

	for(int i = 1; i<=n; i++)
	{
		for(int j = 1; j<=n; j++)
			out<<mat[i][j]<<' ';
		out<<'\n';
	}

	return player_unu;
}