Cod sursa(job #1672822)
| Utilizator | Data | 3 aprilie 2016 09:49:22 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
program royfloyd;
var cost:array[1..100,1..100] of integer;
k,i,j,n:integer;
Begin
assign(input,'royfloyd.in'); reset(input);
assign(output,'royfloyd.out'); rewrite(output);
readln(n);
for i:=1 to n do
for j:=1 to n do read(cost[i,j]);
//Roy-Floyd
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if cost[i,j]>cost[i,k]+cost[k,j] then
cost[i,j]:=cost[i,k]+cost[k,j];
for i:=1 to n do
begin
for j:=1 to n do write(cost[i,j],' ');
writeln;
end;
close(input);
close(output);
End.