Cod sursa(job #412419)

Utilizator Rock32Ignat Lorand Rock32 Data 5 martie 2010 16:54:38
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#include <iostream.h>

long int a[257][257][2]={0};
int n;


void beolvas()
{freopen("royfloyd.in","r",stdin);
 cin>>n;
 for(int i=1;i<=n;i++)
	for(int j=1;j<=n;j++)
		cin>>a[i][j][0];
		 
    	
}


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

void kiir()
{freopen("royfloyd.out","w",stdout);
 for(int i=1;i<=n;i++)
  {for(int j=1;j<=n;j++)
	cout<<a[i][j][0]<<" ";
	cout<<"\n";
	}

}


int main()
{beolvas();
royfloyd();
kiir();
}