Cod sursa(job #2283377)

Utilizator vlad.ulmeanu30Ulmeanu Vlad vlad.ulmeanu30 Data 15 noiembrie 2018 14:47:11
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>
#define maxn 100

using namespace std;

int ad[maxn+5][maxn+5];

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

  int n;

  fin >> n;

  int i, j, k;

  for ( i = 0; i < n; i++ )
    for ( j = 0; j < n; j++ )
      fin >> ad[i][j];

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

  for ( i = 0; i < n; i++, fout.put ( '\n' ) )
    for ( j = 0; j < n; j++ )
      fout << ad[i][j] << ' ';

  fin.close ();
  fout.close ();

  return 0;
}