На питоне или с++ Задача 4: Американские горки В аттракционе Американские горки имеется рельсовый трек на опорах

  • 3
На питоне или с++ Задача 4: Американские горки В аттракционе "Американские горки" имеется рельсовый трек на опорах с известной высотой каждой опоры. Для рекламных целей необходимо выделить фрагмент трека с помощью световой подсветки. Этот фрагмент трека должен содержать "горку" - точку, расположенную выше начала и конца фрагмента трека. Владелец аттракциона хочет найти подходящий фрагмент для экономии.
Загадочный_Пейзаж_3252
9
Вот подробное решение задачи на Python:

python
def find_roller_coaster_section(heights):
n = len(heights)

# Инициализируем переменные для хранения начала и конца фрагмента с горкой
start = 0
end = 0

# Проходим по всем опорам трека
for i in range(1, n-1):
# Проверяем, что текущая точка выше предыдущей и следующей
if heights[i] > heights[i-1] and heights[i] > heights[i+1]:
# Определяем начало фрагмента трека
start = i-1

# Просматриваем все опоры после текущей и ищем точку окончания фрагмента
for j in range(i, n-1):
# Если следующая точка будет ниже текущей, прерываем цикл
if heights[j+1] <= heights[j]:
end = j
break

# Если найден фрагмент трека с горкой, прерываем цикл
if end != 0:
break

# Возвращаем фрагмент трека с горкой
return heights[start:end+1]


Пояснение решения:

Мы проходим по всем опорам трека, начиная со второй и заканчивая предпоследней опорой, так как горка должна быть точкой, расположенной выше начала и конца фрагмента.

На каждой итерации мы проверяем, что текущая точка выше предыдущей и следующей. Если это выполняется, то мы определяем начало фрагмента - это будет предыдущая опора, а затем мы просматриваем все опоры после текущей и ищем точку окончания фрагмента. Если находим опору, которая ниже следующей, прекращаем поиск и сохраняем точку окончания фрагмента.

В конце возвращаем фрагмент трека с горкой, выделяя его с помощью световой подсветки.

Вы можете использовать эту функцию, передав ей список высот опор трека в качестве аргумента и получив список высот фрагмента трека с горкой в ответе.