Cod sursa(job #2195430)

Utilizator AlexandruabcdeDobleaga Alexandru Alexandruabcde Data 16 aprilie 2018 13:27:52
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>

using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
const int inf = 2000000000;
int k,i,j,n,d[102][102];
int main() {
  fin >> n;
  for (i = 1; i <= n; i++) {
      for (j = 1; j <= n; j++) {
          fin >> d[i][j];
          if (d[i][j] == 0 && i != j) d[i][j] = inf;
      }
  }
  for (k = 1; k <= n; k++) {
      for (i = 1; i <= n; i++) {
         for (j = 1; j <= n; j++)
         {
                 if (d[i][j] > d[i][k] +  d[k][j] && i != j)
                 {
                    d[i][j] = d[i][k] +  d[k][j];
                 }
         }
      }
  }
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++)
    {
      fout << d[i][j] << " ";
    }
    fout << '\n';
  }
  return 0;
}