Cod sursa(job #2195423)

Utilizator AlexandruabcdeDobleaga Alexandru Alexandruabcde Data 16 aprilie 2018 13:17:45
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>

using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
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];
      }
  }
  for (k = 1; k <= n; k++) {
      for (i = 1; i <= n; i++) {
         for (j = 1; j <= n; j++)
         {
             if (d[i][j] != 0)
             {
                 if (d[i][j] > d[i][k] +  d[k][j] && d[i][k] != 0 && d[k][j] != 0)
                 {
                    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;
}