Cod sursa(job #861397)

Utilizator cosminnicaAruxandei Cosmin Andrei cosminnica Data 21 ianuarie 2013 14:26:15
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb

#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int n,x[101][101],i,j,k;
int main()
{
	f>>n;
	for(i=1;i<=n;++i)
		for(j=1;j<=n;++j)
			f>>x[i][j];
		for(k=1;k<=n;++k)
			for(i=1;i<=n;++i)
				for(j=1;j<=n;++j)
					if(i!=j&&i!=k&&j!=k&&x[i][k]!=0&&x[k][j]!=0)
						if(x[i][j]==0)
							x[i][j]=x[i][k]+x[k][j];
						else
							x[i][j]=min(x[i][j],x[i][k]+x[k][j]);
						for(i=1;i<=n;++i)
						{
							for(j=1;j<=n;++j)
								g<<x[i][j]<<' ';
							g<<'\n';
						}
						g.close();
						return 0;
}