Cod sursa(job #165189)
| Utilizator | Data | 25 martie 2008 17:57:08 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
var v:array[1..1000,1..1000]of longint;
n,i,j,k:longint;
f:text;
begin
assign(f,'royfloyd.in');
reset(f);
read(f,n);
for i:=1 to n do
for j:=1 to n do
read(f,v[i,j]);
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if(i<>k)and(j<>k)and(i<>j)and(v[i,k]+v[k,j]<v[i,j])and(v[i,k]>0)and(v[k,j]>0)then v[i,j]:=v[i,k]+v[k,j];
close(f);
assign(f,'royfloyd.out');
rewrite(f);
for i:=1 to n do
begin
for j:=1 to n do
write(f,v[i,j],' ');
writeln(f);
end;
close(f);
end.
