Cod sursa(job #2914166)

Utilizator EZ4ENCEAleksi Jalli EZ4ENCE Data 19 iulie 2022 09:09:40
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#define NMAX 100
#define INF (1000 * NMAX)

using namespace std;

ifstream cin ("royfloyd.in");
ofstream cout ("royfloyd.out");

int matdist[NMAX + 1][NMAX + 1];

int main() {
  int n, i, j, k;
  cin >> n;

  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      cin >> matdist[i][j];
      matdist[i][j] = (matdist[i][j] == 0 ? INF : matdist[i][j]);
    }
  }

  for (k = 0; k < n; k++) {
    for (i = 0; i < n; i++)
      for (j = 0; j < n; j++)
        matdist[i][j] = min(matdist[i][j], matdist[i][k] + matdist[k][j]);
  }


  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++)
      cout << ((i == j) ? 0 : matdist[i][j]) << " ";
    cout << "\n";
  }
  return 0;
}