Cod sursa(job #589890)

Utilizator t2010tZaharia Teofil t2010t Data 14 mai 2011 11:40:46
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#define inf 21000000
using namespace std;

int n;
int a[100][100];

int main()
{
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");

int i1,i2,i3;

in>>n;
for(i1=0;i1<n;i1++)
	for(i2=0;i2<n;i2++)
		{
		in>>a[i1][i2];
		if(!a[i1][i2])
			if(i1!=i2)
				a[i1][i2] = inf;
		}

for(i3=0;i3<n;i3++)
	for(i1=0;i1<n;i1++)
		for(i2=0;i2<n;i2++)
			if(a[i1][i3] + a[i3][i2] < a[i1][i2])
				a[i1][i2] = a[i1][i3] + a[i3][i2];

for(i1=0;i1<n;i1++)
	{
	for(i2=0;i2<n;i2++)
		if(a[i1][i2] == inf)
			out<<'0 ';
		else
			out<<a[i1][i2]<<' ';
	out<<'\n';
	}

in.close();
out.close();
return 0;
}