Cod sursa(job #3142064)

Utilizator RolandPetreanPetrean Roland RolandPetrean Data 18 iulie 2023 18:14:43
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
// https://infoarena.ro/problema/royfloyd
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'

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

int main() {
  int n;
  fin>>n;

  vector<vector<int>> dist(n+1, vector<int>(n+1));
  for (int i=1; i<=n; ++i) {
    for (int j=1; j<=n; ++j) fin>>dist[i][j];
  }

  for (int k=1; k<=n; ++k) {
    for (int i=1; i<=n; ++i) {
      for (int j=1; j<=n; ++j) dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
    }
  }

  for (int i=1; i<=n; ++i) {
    for (int j=1; j<=n; ++j) fout<<dist[i][j]<<" ";
    fout<<endl;
  }
}