Cod sursa(job #273738)
| Utilizator | Data | 8 martie 2009 22:40:49 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
var f:text;
i,j,n,k:integer;
a:array[1..100,1..100] of integer;
begin
assign(f,'royfloyd.in');
reset(f);
readln(f,n);
for i:=1 to n do
begin
for j:=1 to n do
read(f,a[i,j]);
readln(f);
end;
close(f);
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if a[i,j]>a[i,k]+a[k,j] then
a[i,j]:=a[i,k]+a[k,j];
assign(f,'royfloyd.out');
rewrite(f);
for i:=1 to n do
begin
for j:=1 to n do
write(f,a[i,j],' ');
writeln(f);
end;
close(f);
end.
