Cod sursa(job #2505015)

Utilizator VladG26Ene Vlad-Mihai VladG26 Data 5 decembrie 2019 23:59:36
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.98 kb
#include <iostream>
#include <bits/stdc++.h>

#define in_file "royfloyd.in"
#define out_file "royfloyd.out"
#define INF 1000003

using namespace std;

void printVec(vector<int> v){
    for(auto e : v){
        fprintf(stdout, "%d, ", e);
    }
}

int main()
{
    freopen(in_file, "r", stdin);
    freopen(out_file, "w", stdout);

    int n, cost;
    int costs[105][105];
    cin>>n;
    for(int i=0; i<n; i++){
        for(int j=0; j<n; j++){
            cin>>costs[i][j];
            if(costs[i][j] == 0){
                costs[i][j]=INF;
            }
        }
    }
    for(int i=0; i<n; i++) costs[i][i]=0;
    for(int k=0; k<n; k++){
        for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
                costs[i][j]=min(costs[i][j], costs[i][k]+costs[k][j]);
            }
        }
    }
    for(int i=0; i<n; i++){
        for(int j=0; j<n; j++){
            cout<<costs[i][j]<<" ";
        }
        cout<<"\n";
    }
    return 0;
}