Cod sursa(job #228233)

Utilizator 05_YohnE1 La5c01 05_Yohn Data 6 decembrie 2008 19:29:44
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.57 kb
var v:array[1..100,1..100] of longint;
    n,i,j,k:byte;
    f,g:text;
begin
assign(f,'royfloyd.in');reset(f);
assign(g,'royfloyd.out');rewrite(g);
readln(f,n);
for i:=1 to n do begin
    for j:=1 to n do read(f,v[i,j]);
    readln(f);
end;
for k:=1 to n do
    for i:=1 to n do
        for j:=1 to n do
        if((v[i,j]>v[i,k]+v[k,j])and(v[i,k]>0)and(v[k,j]>0))
       or((i<>j)and(v[i,j]=0)and(v[i,k]>0)and(v[k,j]>0))then
          v[i,j]:=v[i,k]+v[k,j];
for i:=1 to n do begin
    for j:=1 to n do write(g,v[i,j],' ');
     writeln(g);
end;
close(g);
end.