Cod sursa(job #2576354)

Utilizator MariusblockMoga Marius-Ioan Mariusblock Data 6 martie 2020 18:43:18
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda imded Marime 0.87 kb
#include <bits/stdc++.h>
#define inf 1000000003

using namespace std;

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

int mata[105][105];
int drum[105][105];
int n;

int main(){
    int i,j,k;
    fin>>n;
    for(i = 1; i <= n; i++){
        for(j = 1; j <= n; j++){
            fin>>mata[i][j];
            if(mata[i][j] == 0)
                mata[i][j] = inf;
        }
    }
    for(k = 1; k <= n; k++){
        for(i = 1; i <= n; i++){
            for(j = 1; j <= n; j++){
                if(i != j)
                    mata[i][j] = min(mata[i][j],mata[i][k]+mata[k][j]);
            }
        }
    }
    for(i = 1; i <= n; i++){
        for(j = 1; j <= n; j++){
            if(mata[i][j] != inf)
            fout<<mata[i][j]<<' ';
            else
                fout<<"0 ";
        }
        fout<<'\n';
    }
    return 0;
}