Cod sursa(job #2779497)

Utilizator casiannCasian casiann Data 3 octombrie 2021 22:31:05
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;

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



int main(){
    int a[101][101], n;
    fin >> n;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            fin >> a[i][j];
    for(int ind1 = 1; ind1 <= n; ind1++)
        for(int ind2 = 1; ind2 <= n; ind2++)
            for(int ind3 = 1; ind3 <= n; ind3++){
                if( a[ind1][ind3] && a[ind3][ind2] && (a[ind1][ind3] + a[ind3][ind2] < a[ind1][ind2]) )
                    a[ind1][ind2] = a[ind1][ind3] + a[ind3][ind2];
            }
    for(int i=1; i<=n; i++, fout << endl)
        for(int j=1; j<=n; j++)
            fout << a[i][j] << ' ' ;   
    return 0;
}