Cod sursa(job #2196035)

Utilizator netfreeAndrei Muntean netfree Data 18 aprilie 2018 09:35:29
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.87 kb
program roy-floyd;

type
mat = array[1..100, 1..100] of integer;

var
a : mat;
n, i, j, k : integer;
f : text;
begin
        assign(f, 'royfloyd.in');
        assign(g, 'royfloyd.out');
        reset(f);
        rewrite(g);

        readln(f, n);
        for i := 1 to n do
                for j := 1 to n do
                        read(f, a[i,j]);


        for k := 1 to n do
                for i := 1 to n do
                        for j := 1 to j do
                                if (i <> j) and (a[i,k] <> 0) and (a[k,j] <> 0) and ((a[i,j] = 0) or (a[i,j] > a[i,k] + a[k,j])) then
                                        a[i,j] := a[i,k] + a[k,j];


        for i := 1 to n do begin
                for j := 1 to n do
                        write(g, a[i,j], ' ');
                writeln;
        end;


        close(f);
        close(g);

end.