Cod sursa(job #2587930)

Utilizator k2e0e0w3qDumitrescu Gheorghe k2e0e0w3q Data 23 martie 2020 19:58:49
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <stdio.h>
#define INF 0x3F3F3F3F

int main () {
    FILE *fin=fopen ("royfloyd.in", "r"),
         *fout=fopen ("royfloyd.out", "w");
    int n;
    fscanf (fin, "%d", &n);
    int a[n+1][n+1], i, j, k;
    for (i=1; i<=n; i++)
        for (j=1; j<=n; j++) {
            fscanf (fin, "%d", &a[i][j]);
            if (i!=j && !a[i][j])
                a[i][j]=INF;
        }

    for (k=1; k<=n; k++)
        for (i=1; i<=n; i++)
            for (j=1; j<=n; j++)
                if (a[i][j]>a[i][k]+a[k][j])
                    a[i][j]=a[i][k]+a[k][j];

    for (i=1; i<=n; i++) {
        for (j=1; j<=n; j++)
            fprintf (fout, "%d ", a[i][j]);
        fprintf (fout, "\n");
    }

    fclose(fin);
    fclose(fout);
    return 0;
}