Cod sursa(job #907207)

Utilizator borlovansandraBorlovan Sandra-Michaela borlovansandra Data 7 martie 2013 18:33:39
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator fpc Status done
Runda Arhiva educationala Marime 0.55 kb
var c:array[1..100,1..100]of longint;
n,i,j,k:integer;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,c[i,j]);
  if (i<>j)and(c[i,j]=0) then c[i,j]:=1000;
 readln(f);
end;

for k:=1 to n do
 for i:=1 to n do
  for j:=1 to n do
   if c[i,j]>c[i,k]+c[k,j] then
    c[i,j]:=c[i,k]+c[k,j];

for i:=1 to n do begin
 for j:=1 to n do
  if c[i,j]<>1000 then write(g,c[i,j],' ')else write(0,' ');
 writeln(g);
 end;

close(f);close(g);
end.