Cod sursa(job #340274)

Utilizator ionutz32Ilie Ionut ionutz32 Data 13 august 2009 22:51:30
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;
n,i,j,k:longint;
f,g:text;
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
        begin
        read(f,a[i,j]);
        if (i<>j) and (a[i,j]=0) then
           a[i,j]:=100001;
        end;
    readln(f);
    end;
for k:=1 to n do
    for i:=1 to n do
        for j:=1 to n do
            if (k<>i) and (k<>j) and (a[i,k]+a[k,j]<a[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
        if a[i,j]=100001 then
           write(g,'0 ')
        else
            write(g,a[i,j],' ');
    writeln(g);
    end;
close(f);close(g);
end.