Mai intai trebuie sa te autentifici.
Cod sursa(job #1430620)
| Utilizator | Data | 8 mai 2015 17:47:42 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 100 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.85 kb |
program royfloyd;
const Nmax = 105;
type matrice = array[1..Nmax, 1..Nmax] of int64;
var f, g:text;
i, j, n, k:longint;
a : matrice;
bufin, bufout:array[1..1 shl 17] of char;
begin
assign(f, 'royfloyd.in'); reset(f);
assign(g, 'royfloyd.out'); rewrite(g);
settextbuf(f, bufin); settextbuf(f, bufout);
readln(f, n);
for i := 1 to n do
for j := 1 to n do
begin
read(f, a[i, j]);
if (i <> j) and (a[i, j] = 0) then a[i, j] := maxlongint;
end;
//rf
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];
for i := 1 to n do
begin
for j := 1 to n do
write(g, a[i, j],' ');
writeln(g);
end;
close(f); close(g);
end.