Cod sursa(job #556574)

Utilizator dyenutzaBalutoiu Diana dyenutza Data 16 martie 2011 10:53:08
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.72 kb
var a:array[1..100,1..100] of longint;
    i,j,k,n:byte;
procedure citire;
        var f:text; i,j:byte;
        begin
        assign(f,'royfloyd.in');reset(f); readln(F,n);
        For i:=1 to n do for j:=1 to n do read(f,a[i,j]);
        close(f);
        end;
procedure afis;
        var f:text; i,j:byte;
        begin
        assign(f,'royfloyd.out');rewrite(f);
        For i:=1 to n do begin
            For j:=1 to n do write(f,a[i,j],' '); writeln(f);
        end; close(f);
        end;
Begin
citire;
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)and( (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];
afis;
end.