Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 1 KB
PROGRAM hegyseg;
CONST
inputFile = '';
maxn = 100;
VAR
N, M: INTEGER;
map: ARRAY [0..maxn+1, 0..maxn+1] OF RECORD
hi: INTEGER;
max: INTEGER;
END;
PROCEDURE Load;
VAR
T: Text;
i, j: INTEGER;
BEGIN
FOR i:= 0 TO maxn+1 DO
BEGIN
FOR j:= 0 TO maxn+1 DO
BEGIN
map[i, j].hi:= -1;
map[i, j].max:= 0;
END;
END;
Assign(T, inputFile);
Reset(T);
ReadLn(T, N, M);
FOR i:= 1 TO N DO
BEGIN
FOR j:= 1 TO M DO
BEGIN
Read(T, map[i, j].hi);
map[i, j].max:= 0;
END;
ReadLn(T);
END;
END;
PROCEDURE Terjeszt(i0, j0, i, j: BYTE; hossz: INTEGER);
BEGIN
IF (map[i, j].hi > 0) AND (map[i, j].hi < map[i0, j0].hi) THEN
BEGIN
IF hossz > map[i, j].max THEN
BEGIN
map[i, j].max:= hossz;
Terjeszt(i, j, i+1, j, hossz+1);
Terjeszt(i, j, i-1, j, hossz+1);
Terjeszt(i, j, i, j-1, hossz+1);
Terjeszt(i, j, i, j+1, hossz+1);
END;
END;
END;
PROCEDURE Process;
VAR
i, j: BYTE;
max_i, max_j: INTEGER;
BEGIN
FOR i:= 1 TO N DO
BEGIN
FOR j:= 1 TO M DO
BEGIN
IF NOT (
(map[i+1, j].hi > map[i, j].hi) OR
(map[i-1, j].hi > map[i, j].hi) OR
(map[i, j+1].hi > map[i, j].hi) OR
(map[i, j-1].hi > map[i, j].hi)) THEN
BEGIN
Terjeszt(i, j, i+1, j, 1);
Terjeszt(i, j, i-1, j, 1);
Terjeszt(i, j, i, j+1, 1);
Terjeszt(i, j, i, j-1, 1);
END;
END;
END;
max_i:= 1; max_j:= 1;
FOR i:= 1 TO N DO
BEGIN
FOR j:= 1 TO M DO
BEGIN
IF map[i, j].max > map[max_i, max_j].max THEN
BEGIN
max_i:= i;
max_j:= j;
END;
END;
END;
WriteLn(map[max_i, max_j].max);
WriteLn(max_i, ' ', max_j);
END;
BEGIN
Load;
Process;
END.