Cod sursa(job #2947989)

Utilizator mihaipriboimihailucapriboi mihaipriboi Data 27 noiembrie 2022 00:30:01
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
// Mihai Priboi

#include <stdio.h>

#define MAXN 100

int n;
int mat[MAXN][MAXN];

int main() {
  FILE *fin, *fout;
  int i, j, k;

  fin = fopen("royfloyd.in", "r");

  fscanf(fin, "%d", &n);
  for(i = 0; i < n; i++)
    for(j = 0; j < n; j++)
      fscanf(fin, "%d", &mat[i][j]);

  fclose(fin);

  for(k = 0; k < n; k++)
    for(i = 0; i < n; i++)
      for(j = 0; j < n; j++)
        if(mat[i][j] > mat[i][k] + mat[k][j])
          mat[i][j] = mat[i][k] + mat[k][j];

  fout = fopen("royfloyd.out", "w");

  for(i = 0; i < n; i++) {
    for(j = 0; j < n; j++)
      fprintf(fout, "%d ", mat[i][j]);
    fprintf(fout, "\n");
  }

  fclose(fout);
  return 0;
}