русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Высокие горы


Дата добавления: 2014-11-28; просмотров: 576; Нарушение авторских прав


Автор задачи: Рогачева Е.В.

Снарядил старший сын обоз с подарками богатыми, и отправился за высокие горы за своей невестой. А ехать нелегко - то в гору подниматься, то с горы спускаться. Надо остановки делать, чтобы отдохнуть. Но и добраться поскорее хочется.

Обозначим через E «запас сил» обоза. При подъеме в гору на единичную высоту обоз теряет 2*M «сил», а при спуске с такой же высоты - M «сил». Отдыхать обоз может только в «точках перевала» - либо после спуска перед подъемом, либо после подъема перед спуском. Обоз не может двигаться дальше, если до следующего перевала он должен потратить сил больше, чем имеется у него в запасе. За единицу времени он может восстановить V сил. Однако обоз не может набрать сил больше, чем Emax, сколько бы он ни отдыхал.

Ваша задача - написать программу, определяющую минимальное время отдыха, которое потребуется обозу по пути до места назначения.

Формат входного файла input.txt.

Первая строка - целые числа N, E0, Emax, M, V через пробел.

N - количество точек «перевала» при движении обоза, 2 <= N <= 100. E0 - начальный запас сил обоза (0 <= E0 <= Emax), Emax - максимально возможный «запас сил» обоза (1 <= Emax <= 1000) M - количество сил, которое теряется при спуске с единичной высоты (0 <= M <= 1000), V - количество сил, которое восстанавливается за единицу времени при отдыхе (0 <= V <= 1000).

Вторая строка - целые числа h1, h2, …, hN через пробел - высоты, на которых расположены точки перевала (-1000 <= h1, h2, …, hN <= 1000).

Первое число соответствует точке, из которой обоз выезжает, последнее - месту назначения. Гарантируется, что во входном файле ни разу не встречаются два подряд одинаковых числа.

Формат выходного файла output.txt.

Первая строка - целое число T - минимальное время отдыха, которое потребуется обозу в пути или слово NO, если обоз не может проехать до места назначения с указанными ограничениями.



Пример входного файла Пример выходного файла

3 13 15 3 2 1

Решение. Только 6 участников городского тура олимпиады 2006 Самары прошли все тесты и получили максимальное число баллов. Многие из тех, кто решил другие даже более сложные задачи, не сумел пройти все тесты для этой задачи.

Анализ показал, что в большинстве решений не учтено одно из условий задачи, а именно - V - количество сил, которое восстанавливается за единицу времени при отдыхе, может быть равно нулю(0 <= V <= 1000). Это означает, что если энергии для движения недостаточно, то при V=0 отдыхать бесполезно и нужно выдать в выходной файл 'NO'.

Второй особенностью является условие ограничение на Emax, даже при V>0 накопить энергию большую Emax нельзя. Учтите и это в своем решении. На сайте есть разбор задач и авторские решения. Но вы, зная особенности тестов, должны теперь самостоятельно решить и сдать решение.



<== предыдущая лекция | следующая лекция ==>
Тортики – 1 | Задача «На болоте» (алгоритм Дейкстры)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.322 сек.