Cod sursa(job #3241437)

Utilizator CondoracheAlexandruCondorache Alexandru CondoracheAlexandru Data 30 august 2024 13:01:39
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.01 kb
#include <bits/stdc++.h>
#include <fstream>
#define ll long long
#define pb push_back
#define F first
#define S second
#define endl '\n'
#define all(a) (a).begin(),(a).end()
using namespace std;
const int maxn = 1e3 + 5;

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

void floyd_warshall(vector<vector<int>>& a, int n) {
    for (int k = 0; k < n; k++) {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                a[i][j] = min(a[i][j], a[i][k] + a[k][j]);
            }
        }
    }
}

void solve() {
    int n;
    fin >> n;
    vector<vector<int>> a(maxn, vector<int>(maxn, 0));
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            fin >> a[i][j];
        }
    }
    floyd_warshall(a, n);
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
                fout << a[i][j] << " ";
        }
        fout << endl;
    }
}
 
int main() {
    int t = 1;
    //cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}