Cod sursa(job #2286840)

Utilizator problem_destroyer69Daniel Hangan problem_destroyer69 Data 20 noiembrie 2018 21:25:59
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>
using namespace std;
#define cin fin
#define cout fout
int n;
int a[105][105];
int main(){
    ifstream fin("royfloyd.in");
    ofstream fout("royfloyd.out");
    cin >> n;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
        cin >> a[i][j];
    for (int k = 1; k <= n; k++)
        for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            if (a[i][k] && a[k][j] && i != j && (!a[i][j] || a[i][k] + a[k][j] < a[i][j]))
                a[i][j] = a[i][k] + a[k][j];
    for (int i = 1; i <= n; i++){
        for (int j = 1; j <= n; j++)
            cout << a[i][j] << ' ';
        cout << "\n";
    }
}