Cod sursa(job #257195)

Utilizator vladnVlad Nistorica vladn Data 12 februarie 2009 21:43:22
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.56 kb
var f,g:text;
    n,i,j,k:longint;
    a:array[1..100,1..100] of longint;
begin
assign(f,'royfloyd.in');reset(f);
assign(g,'royfloyd.out');rewrite(g);
read(f,n);
for i:=1 to n do
    for j:=1 to n do
        read(f,a[i,j]);
for k:=1 to n do
    for i:=1 to n do
        for j:=1 to n do
            if (a[k,j]<>0) and (a[i,k]<>0) and (i<>j) then
            if (a[i,k]+a[k,j]<a[i,j]) or (a[i,j]=0) 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(g);
end.