Cod sursa(job #1678463)

Utilizator Vasile_RotaruVasea Rotaru Vasile_Rotaru Data 7 aprilie 2016 12:38:07
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<bits/stdc++.h>

using namespace std;

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

int N,A[101][101],i,j;

void roy_floyd_warshall()
{
	int i,j,k;
	for(i=1;i<=N;++i)
		for(j=1;j<=N;++j)
			for(k=1;k<=N;++k)
				if(A[j][i] && A[i][j] && (A[j][k]>A[j][i]+A[i][j] || !A[j][k] && i!=j))A[j][k]=A[j][i]+A[i][k];
}

int main()
{
	for(i=1;i<=N;++i)
		for(j=1;j<=N;++j)fin>>A[i][j];
	roy_floyd_warshall();
	for(i=1;i<=N;++i)
	{
		for(j=1;j<=N;++j)fout<<A[i][j]<<" ";
		fout<<"\n";
	}
	return 0;
}