Cod sursa(job #2296145)

Utilizator radugheoRadu Mihai Gheorghe radugheo Data 4 decembrie 2018 15:06:59
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <climits>

using namespace std;

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

int n, i, j;
int a[105][105];

inline void royfloyd (){
    int k, i, j;
    for (k=1; k<=n; k++){
        for (i=1; i<=n; i++){
            for (j=1; j<=n; j++){
                a[i][j] = min (a[i][j], a[i][k] + a[k][j]);
            }
        }
    }
}

int main(){
    fin >> n;
    for (i=1; i<=n; i++){
        for (j=1; j<=n; j++){
            fin >> a[i][j];
            if (a[i][j] == 0 && i != j){
                a[i][j] = INT_MAX;
            }
        }
    }
    royfloyd();
    for (i=1; i<=n; i++, fout << "\n"){
        for (j=1; j<=n; j++){
            fout << a[i][j] << " ";
        }
    }
    return 0;
}