Cod sursa(job #560579)

Utilizator dutzu93Vlad Vedinas dutzu93 Data 18 martie 2011 16:29:41
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.81 kb
var
    n:1..100;
    a:array[1..100,1..100]of longint;
    i,j,k:integer;

procedure citire;
    var i,j:longint;
    begin
        assign(input,'royfloyd.in');reset(input);
        readln(n);
        for i:=1 to n do
            begin
                for j:=1 to n do
                    read(a[i,j]);
            end;
        close(input);
    end;

begin
    citire;
    for k:=1 to n do
        for i:=1 to n do
            for j:=1 to n 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];
    assign(output,'royfloyd.out');rewrite(output);
    for i:=1 to n do begin
        for j:=1 to n do
            write(a[i,j],' ');
        writeln;
    end;
    close(output);
end.