Форум » Массивы, сортировка, работа с файлами » Задача 2647 » Ответить

Задача 2647

Nikolass: Здравствуйте. Прошу пояснить условие задачи: Для уменьшения аварий на центральной дороге в городе X дорожная служба решила выровнять ямы. Новая яма будет иметь второй по величине объем (в литрах) среди её самой и двух соседних ям. При этом размеры первой и последней ямы решили не менять. Ночью перед ремонтом дороги в городе X прошел проливной дождь, поэтому все ямы до краев заполнены водой. Сколько литров воды выльется обратно на дорогу после проведения ремонта? Пример входного файла: 8 10 12 8 6 20 12 16 10 При таких исходных данных после ремонта объем ям будет выглядеть следующим образом 10, 10, 8, 8, 12, 16, 12, 10. Если я правильно понял условие, то в результате работы дорожников, должно соблюдаться условие: "Любая яма не должна быть меньше минимальной и больше или равной максимальной из тройки - сама яма-предыдущая яма-следующая яма". Равенство минимальной яме допускается. Если так, то непонятно - как может в ответе появиться яма глубиной 16, ведь она не вторая, а первая по объему среди соседних ям глубиной 12?

Ответов - 16, стр: 1 2 All

Поляков: Nikolass пишет: как может в ответе появиться яма глубиной 16, ведь она не вторая, а первая по объему среди соседних ям глубиной 12? Вот как появились числа в итоговой последовательности: 10 -> 10 10, 12, 8 -> 10 12, 8, 6 -> 8 8, 6, 20 -> 8 6, 20, 12 -> 12 20, 12, 16 -> 16 12, 16, 10 -> 12 10 -> 10

Nikolass: Меня смущает именно формулировка условия - "Новая яма будет иметь второй по величине объем (в литрах) среди её самой и двух соседних ям". Получается, что оно выполняется только на момент проверки/изменения текущего элемента, а не в результате работы всего алгоритма. С кем ни советовался, все понимали так же, как и я.

Поляков: Nikolass пишет: Получается, что оно выполняется только на момент проверки/изменения элемента, а не в результате работы всего алгоритма. Как, по вашему мнению, нужно уточнить условие?


Nikolass: Подогнать формулировку задачи под уже готовое решение - заманчиво. Можно так написать - "при выравнивании, объем ямы становится вторым по величине среди её самой и двух соседних ям".

Поляков: Nikolass пишет: Подогнать формулировку задачи под уже готовое решение - заманчиво. Не в этом дело. Автор написал свою формулировку, как мог и как умел. Поскольку у многих, как вы говорите, возникают проблемы с пониманием, условие нужно скорректировать. Решение при этом, естественно, не изменяется. Тот вариант, который вы предложили, тоже будет источником непонимания.

Nikolass: Если встретятся несколько ям, имеющих одинаковый размер, то как в этом случае соблюсти требование "средняя - вторая по величине"? И можно ли считать таковой (второй по величине) среднюю яму в ряду 10-10-8?

Поляков: Nikolass пишет: И можно ли считать таковой (второй по величине) среднюю яму в ряду 10-10-8? Да, конечно. Фактически из тройки нужно выбросить минимальную и максимальную.

Nikolass: Спорить не буду, хотя на мой взгляд "второй - это не первый", и ситуация 10-8-8 вполне допустима, а 10-10-8 - нет. Но что делать, если встретились несколько ям, имеющих одинаковый размер и мы получили 10-10-10? Так же выбрасываем минимальную и максимальную? Или такая ситуация невозможна даже теоретически?

Поляков: Nikolass пишет: если встретились несколько ям, имеющих одинаковый размер и мы получили 10-10-10? Так же выбрасываем минимальную и максимальную? Или такая ситуация невозможна даже теоретически? Это возможно. Считайте, что работает правило глубина = сумма(a, b, c) - min(a, b, c) - max(a, b, c)

Nikolass: В одной из соседних тем автор этой задачи предлагает перейти на видео с ее разбором (https://www.youtube.com/watch?v=dqEglv3sTvo&t=7663s). Так вот, там в окне слева приводится текст задачи, в котором в качестве ответа указана комбинация 10, 10, 8, 8, 12, 12, 12, 10 (у меня получилось так же), а не 10, 10, 8, 8, 12, 16, 12, 10 как в тексте тренажера. Что это - концепция решения изменилась или где-то опечатка?

EugeneJobs: В начальном условии опечатка. Глубина ямы считается относительно начального состояния.

Nikolass: нельзя ли уточнить - опечатка в вашем задачнике или в тренажере? Как должен выглядеть текст без опечатки? А то непонятно, куда это "Глубина ямы считается относительно начального состояния" вставлять, что при этом должно измениться в условии и какая из приведенных комбинаций верна. Спасибо.

Nikolass: в вашем разборе этой задачи не учтен вариант, что первая и последняя ямы (неизменяемые) могут оказаться в числе самых маленьких, количество которых нужно подсчитать. Но они в это число не войдут, так как цикл, в котором выполняется обработка массива (и подсчет количества наименьших ям), начинает работу со второго элемента (его номер в динамическом массиве =1) и заканчивает предпоследним, а они сохранены в первом элементе массива под номером 0 и последнем. Или я не прав?

EugeneJobs: Возможно. Надо проверить решение. Вторым по возрастанию считается значение, стоящее на втором месте в остортированном массиве из трех элементов. К сожалению, болею и детально По решению с разбора ответить не могу.

Nikolass: Ямы, цифры подождут.



полная версия страницы