Cod sursa(job #1576133)

Utilizator robertstrecheStreche Robert robertstreche Data 22 ianuarie 2016 09:29:45
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

#define NMAX 105
#define INF 1000005

using namespace std;

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");

int n;
int dist[NMAX][NMAX];

int main()
{
   f>>n;

   for (int i=1;i<=n;i++)
    for (int j=1;j<=n;j++)
     f>>dist[i][j];

   for (int nod=1;nod<=n;nod++)
     for (int i=1;i<=n;i++)
       for (int j=1;j<=n;j++)
         if (i!=j && dist[i][nod] && dist[nod][j] && dist[i][nod]+dist[nod][j]<(dist[i][j]?dist[i][j]:INF))
            dist[i][j]=dist[i][nod]+dist[nod][j];

  for (int i=1;i<=n;i++,g<<'\n')
    for (int j=1;j<=n;j++)
      g<<dist[i][j]<<" ";

   f.close();
   g.close();
}