Cod sursa(job #2854033)

Utilizator ClotanPClotan Paul Ioan ClotanP Data 20 februarie 2022 20:53:12
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

int mat[101][101];

void printRoyFloyd(int n){
    for(int i = 0;i<n;i++){
        for(int j = 0;j<n;j++){
            fout<<mat[i][j]<<" ";
        }
        fout<<'\n';
    }
}

int matrixRead(){
    int n;
    fin>>n;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            fin>>mat[i][j];
        }
    }
    return n;
}

void royFloyd(int n){
    for(int k = 0;k<n;k++){
        for(int i = 0;i<n;i++){
            for(int j=0;j<n;j++){
                mat[i][j] = min(mat[i][j],mat[i][k]+mat[k][j]);
            }
        }
    }
}


int main()
{
    int n = matrixRead();
    royFloyd(n);
    printRoyFloyd(n);
    return 0;
}