Cod sursa(job #2707969)

Utilizator Ilie_MityIlie Dumitru Ilie_Mity Data 18 februarie 2021 08:30:49
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
//Ilie Dumitru
#include<cstdio>

int pond[100][100], cost[100][100], N;

void royfloyd()
{
    int i, j, k;
    for(i=0;i<N;++i)
        for(j=0;j<N;++j)
            cost[i][j]=pond[i][j];
    for(i=0;i<N;++i)
        for(j=0;j<N;++j)
            for(k=0;k<N;++k)
                if(cost[i][j]>cost[i][k]+cost[k][j])
                    cost[i][j]=cost[i][k]+cost[k][j];
}

int main()
{
    freopen("royfloyd.in", "r", stdin);
    freopen("royfloyd.out", "w", stdout);
    int i, j;
    scanf("%i", &N);
    for(i=0;i<N;++i)
        for(j=0;j<N;++j)
            scanf("%i", &pond[i][j]);
    fclose(stdin);
    royfloyd();
    for(i=0;i<N;++i)
    {
        for(j=0;j<N;++j)
            printf("%i ", cost[i][j]);
        printf("\n");
    }
    fclose(stdout);
    return 0;
}