Pagini recente » Cod sursa (job #94736) | Cod sursa (job #2457115) | Cod sursa (job #2016902) | Cod sursa (job #1166941) | Cod sursa (job #2900519)
program royfloyd;
{$MODE objfpc}{$H+}{$J-}
uses Sysutils, Math;
const
C_IN_FNAME = 'royfloyd.in';
C_OUT_FNAME = 'royfloyd.out';
var
fin, fout: text;
graph: array[1..100, 1..100] of word;
n, i, j, k: integer;
begin
AssignFile(fin, C_IN_FNAME); Reset(fin);
Read(fin, n);
for i := 1 to n do
begin
for j := 1 to n do
begin
Read(fin, graph[i,j]);
end;
end;
Close(fin);
for k := 1 to n do
begin;
for i := 1 to n do
begin
for j := 1 to n do
begin
if (i <> j) and (graph[i,k] <> 0) and (graph[k,j] <> 0) then
begin
if graph[i,j] = 0 then
graph[i,j] := 65535;
graph[i,j] := Min(graph[i,j], graph[i,k] + graph[k,j]);
if graph[i,j] = 65535 then
graph[i,j] := 0;
end;
end;
end;
end;
AssignFile(fout, C_OUT_FNAME); Rewrite(fout);
for i := 1 to n do
begin
for j := 1 to n do
begin
Write(fout, graph[i,j], ' ');
end;
Writeln(fout, '');
end;
Close(fout);
end.