Cod sursa(job #738833)
| Utilizator | Data | 21 aprilie 2012 17:15:21 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.77 kb |
var a:array[1..100,1..100] of integer;
n,i,j,k:integer;
f,g:text;
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[i,j]>0 then
if a[i,j]>a[i,k]+a[k,j] 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.
