Cod sursa(job #276099)

Utilizator andrabAndra B andrab Data 10 martie 2009 20:50:50
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<fstream.h>
#define max 101
#define inf 1001

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


int n,a[max][max];

void citire()
{int i,j;

 fin>>n;
 for(i=1;i<=n;i++)
 for(j=1;j<=n;j++)
 fin>>a[i][j];


 for(i=1;i<=n;i++)
 for(j=1;j<=n;j++)
 if (i!=j && a[i][j]==0)
 a[i][j]=inf;
}

void afisare()
{int i,j;
 for(i=1;i<=n;i++)
 {for(j=1;j<=n;j++)
  fout<<a[i][j]<<" ";
  fout<<"\n";
  }
 }


int main()
{int i,j,k;

 citire();

 for(k=1;k<=n;k++)
  for(i=1;i<=n;i++)
   for(j=1;j<=n;j++)
    if(a[i][j]>a[i][k]+a[k][j])
	  a[i][j]=a[i][k]+a[k][j];

 afisare();

 fin.close();   
 fout.close();   
  
 return 0;   
 }