Cod sursa(job #1060073)

Utilizator Alexghita96Ghita Alexandru Alexghita96 Data 17 decembrie 2013 16:10:33
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <cstdio>
#include <algorithm>

#define Nmax 105

using namespace std;

int C[Nmax][Nmax], N;

void Citire()
{
    scanf("%d", &N);
    for (int i = 1; i <= N; ++i)
        for (int j = 1; j <= N; ++j)
            scanf("%d", &C[i][j]);
}

void Rezolvare()
{
    for (int i = 1; i <= N; ++i)
    {
        for (int j = 1; j <= N; ++j)
        {
            for (int k = 1; k <= N; ++k)
            {
                C[i][j] = min(C[i][j], C[i][k] + C[k][j]);
            }
        }
    }
}

void Afisare()
{
    for (int i = 1; i <= N; ++i)
    {
        for (int j = 1; j <= N; ++j)
            printf("%d ", C[i][j]);
        printf("\n");
    }
}

int main()
{
    freopen("royfloyd.in", "r", stdin);
    freopen("royfloyd.out", "w", stdout);

    Citire();
    Rezolvare();
    Afisare();

    return 0;
}