Cod sursa(job #2576334)

Utilizator MariusblockMoga Marius-Ioan Mariusblock Data 6 martie 2020 18:37:15
Problema Floyd-Warshall/Roy-Floyd Scor 20
Compilator cpp-64 Status done
Runda imded Marime 0.92 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(i = 1; i <= n; i++){
        for(j = 1; j <= n; j++){
            drum[i][j] = inf;
            if(i != j){
                for(k = 1; k <= n; k++){
                    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;
}