Cod sursa(job #3257785)

Utilizator Luca07Nicolae Luca Luca07 Data 19 noiembrie 2024 15:16:23
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
#include<vector>
using namespace std;

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

vector<vector<int>> vmat;

int main()
{
    int i, j,k, n, nr;

    cin >> n;
    vmat = vector < vector<int>>(n + 1, vector<int>(n + 1));
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            cin >> vmat[i][j];
        }
    }


    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            for (k = 0; k < n; k++) {
                if (vmat[i][j] + vmat[j][k] < vmat[i][k]) {
                    vmat[i][k] = vmat[i][j] + vmat[j][k];
                }
            }
        }
    }

    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            cout << vmat[i][j]<<" ";
        }
        cout << "\n";
    }

    return 0;
}