Препятствующая полоса Вышедший пенсию бегун Усейн Олд решил качестве утренней тренировки пройти полосу прешитетвий. Полоса представляет из себя последовательность из и столбиков различной целой высоты. В каждый момент времени Усейн находится на каком-то из столбиков и может переместиться только на соседний с ним.
Усейн уже не молод, поэтому не хочет повредить суставы при прохождении полосы. Перемещение со столбика высоты h на соседний называется безопасным, если его высота находится между h - 3 и h +2 включительно. Если высота нового столбика хотя бы на 4 ниже, то при прыжке есть риск
повредить поги, а если хотя бы на 3 выше - при подъеме можно повредить руки. Также обратить внимание на то, что Усейн может двигаться как в правую, так и в левую сторону
Пом Усейну найти наиболее длинный участок полосы препятствий, который он может безопасно преодолеть. А именно, подберите пару чисел s, t, с максимальным |s-t|, чтобы Усейн мог добраться от s-го столбика до t-го, производя лишь безопасные перемещения
Формат входных данных:
В первой строке ввода через пробел заданы два целых числа m и n - количество следующих строк во вводе и количество столбиков
Следующие m строк задают полосу препятствий в виде матрицы размера m х n. Каждая строка имеет длину n и состоит из симполов “.” и «#». символ означает, что данная клетка ничем не звонят, а «#» - что эта клетка столбиком. Все столбики от уровня земли. Таким образом, если в i-й строке на j-м месте стоит решетка, то и во всех следующих строках на этой позиции будет находиться решетка. Высота каждого столбика задается количеством решеток в соответствующем столбце матрицы. Формат выходных данных
Выведите через пробел два целых числа s и t, обозначающих границы движения Усейна по полосе. Обратите внимание, что направление движения имеет значение, и ответы "s t" и "t s” отличаются.
Решение:
1)6 мегапикс. = 6000000 пикс;
2) Пусть x ширина картинки, тогда y ее длина.
Уравнение: X * 1,5Y = 6000000
3) Находим отношение (1,5). Получается уравнение: 6000000 / X * Y = 1,5;
4)Затем по пропорции находим произведение X и Y. Получилось: 6000000 / 1,5 = X * Y; 4000000 = X * Y;
5)Здесь картинка получается квадратом (условно, без уменьшение ширины, без 1,5);
6)Отсюда можно сделать вывод, что умножение Y на 1,5 дает ответ 3, а разрешение картинки равно: X * Y = 2 * 3 = 6 мегапикс.
P. S. Извиняюсь, что немного муторно, но Информатика есть инорматика...
program sortArray;
var
arrayA:array[1..50] of real;
bufR:real;
n,ci,cIi,stOt,most:byte;
begin
readln(n); for ci:=1 to n do readln(arrayA[ci]);
for ci:=1 to n-1 do
begin
most:=0;
for cIi:=ci to n do
if (arrayA[cIi]>=0) and ((arrayA[cIi]<arrayA[most]) or (most=0)) then most:=cIi; if most<>0 then
begin
bufR:=arrayA[ci]; arrayA[ci]:=arrayA[most]; arrayA[most]:=bufR;
end
else
begin
stOt:=ci; break;
end;
end;
for ci:=1 to n-stOt do
begin
most:=stOt+ci-1;
for cIi:=stOt+ci to n do
if arrayA[cIi]>arrayA[most] then most:=cIi;
bufR:=arrayA[stOt+ci-1]; arrayA[stOt+ci-1]:=arrayA[most]; arrayA[most]:=bufR; end;
writeln; for ci:=1 to n do writeln(arrayA[ci]:0:3); readln;
end.