Cod sursa(job #180976)

Utilizator dyzzy_dyzzyStanciulescu Daniel dyzzy_dyzzy Data 17 aprilie 2008 18:40:34
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.71 kb
var a:array[1..100,1..100] of longint;
    f,g:text;
    n,i,j,k:integer;
begin
assign(f,'royfloyd.in');
assign(g,'royfloyd.out');
reset(f);
rewrite(g);
readln(f,n);
for i:=1 to n do
begin
        for j:=1 to n do
                read(f,a[i,j]);
        readln(f);
end;
for k:=1 to n do
        for i:=1 to n do
                for j:=1 to n do
                        if (a[i,k]<>0) and (a[k,j]<>0) then
                                if ((a[i,j]>a[i,k]+a[k,j]) or (a[i,j]=0)) and (i<>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(g);
end;
close(f);
close(g);
end.