Cod sursa(job #363478)

Utilizator PopaStefanPopa Stefan PopaStefan Data 13 noiembrie 2009 15:28:44
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream>
#define infinit 2000000

using namespace std;

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

int a[101][101],n;

int main()
{int i,j,k,aux;
fin>>n;
for(i=1;i<=n;i++)
  for(j=1;j<=n;j++)
    {fin>>aux;
    if(aux>0) a[i][j]=aux;
       else a[i][j]=infinit;
    }
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][k]!=0 && a[k][j]!=0 && a[i][j]!=0)
         a[i][j]=a[i][k]+a[k][j];
for(i=1;i<=n;i++)
  {for(j=1;j<=n;j++)
      fout<<a[i][j]<<" ";
   fout<<'\n';
  }
fin.close();
fout.close();
return 0;
}