Cod sursa(job #2215706)

Utilizator Iulia25Hosu Iulia Iulia25 Data 23 iunie 2018 11:59:34
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

using namespace std;

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

int n, a[101][101];

int main()  {
  fin >> n;
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= n; ++j)
      fin >> a[i][j];
  for (int k = 1; k <= n; ++k)
    for (int i = 1; i <= n; ++i)
      for (int j = 1; j <= n; ++j)
        if (a[i][k] && a[k][j] && i != j && (a[i][j] > a[i][k] + a[k][j] || !a[i][j]))
          a[i][j] = a[i][k] + a[k][j];
  for (int i = 1; i <= n; ++i)  {
    for (int j = 1; j <= n; ++j)
      fout << a[i][j] << ' ';
    fout << '\n';
  }
}