Cod sursa(job #2574993)

Utilizator andreitudorpAndrei Tudor Popescu andreitudorp Data 6 martie 2020 11:04:38
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;

ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");

#define MAXN 105

int n, a[MAXN][MAXN];

void roy_floyd()
{
    int i, j ,k;

    for(int k = 1 ; k <= n ; k ++)
        for(int i = 1 ; i <= n ; i ++)
            for(int j = 1 ; j <= n ; j ++)
                if(a[i][j] > a[i][k] + a[k][j])
                    a[i][j] = a[i][k] + a[k][j];
}

int main() {

    cin >> n;

    for(int i = 1; i <= n ; i++)
        for(int j = 1; j <= n ; j++)
            cin >> a[i][j];

        roy_floyd();

    for(int i = 1; i <= n ; i++, cout <<"\n")
        for(int j = 1; j <= n ; j++)
            cout << a[i][j] << " ";

    return 0;
}