Cod sursa(job #269287)

Utilizator razyelxrazyelx razyelx Data 2 martie 2009 19:01:39
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream.h>
#define MAX 1001
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int a[MAX][MAX],n;

void citire(){
     int i,j;
     in>>n;
     for(i=1;i<=n;++i)
	for(j=1;j<=n;++j)
	   in>>a[i][j];
}
void royfloyd(){
     int i,j,k;
     for(k=1;k<=n;++k)
	for(i=1;i<=n;++i)
	   for(j=1;j<=n;++j)
	      if(a[i][k]+a[k][j] < a[i][j]){a[i][j] = a[i][k]+a[k][j];}
}
void afisare(){
     int i,j;
     for(i=1;i<=n;++i){
	for(j=1;j<=n;++j)
	   out<<a[i][j]<<" ";
	out<<"\n";
     }
}

int main(){
    citire();
    royfloyd();
    afisare();
    return 0;
}