|
Модераторы: Alx, Fixin |
|
n1k0LaY |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 13.6.2008 Репутация: нет Всего: нет |
вообщем простая олимп школьная задачка)) что то не могу реализовать эффективное решение( не проходит по всем тестам)
не буду копи-пастить Ссылка http://acm.dvpion.ru/?main=task&id_task=29 Собственно не прошу решить, а обьяснить Я понимаю что нужно создать 4 переменных, и считывать в них пошагово, и выбирать либо прыгнуть на 3 либо на 1, но вот что то не проходит, прав ли я?) Да и не пойму как сделать эффектиную проверку (на сколько прыгнуть). |
|||
|
||||
2p0i |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 14.9.2007 Репутация: нет Всего: 1 |
Храним в каждый момент времени высоты двух последних платформ (y1 и y2) и оптимальное количество энергии, нужное, чтобы до них добраться (x1 и x2). Считываем высоту следующей платформы: y. Тогда оптимальная энергия для новой платформы будет x = min(x2+abs(y-y2), x1+3*abs(y-y1)). Меняем переменные после очередного шага: x1 := x2, x2 := x; y1 := y2; y2 := y.
|
|||
|
||||
fukusu |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
А что будешь делать если на вход пойдет: 4 1 5 2 5 по твоей логике сначала будет прыжок с 1 на 2, а потом на 5, что в итоге даст 3+3 ед. потраченной энергии, хотя оптимальным будет сначала с 1 на 5, а потом через платформу на 5, что в итоге даст 4 ед. затраченной энергии |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 2 Всего: 453 |
Храним в каждый момент времени минимум стоимости прыжка на две последние платформы. Просчитываем стоимость прыжка на следующую с каждой из них, оставляем минимум из двух. Всё собсно.
Скажем применительно к N 1 5 2 5 ... Шаг 1 платформа 1, стоимость 0 платформа 2, стоимость 5-1=4 Шаг 2 платформа 3, прыжок с платформы 1, стоимость 0+3*(2-1)=3 платформа 3, прыжок с платформы 2, стоимость 4+(5-2)=7 минимальное 3 оставляем: платформа 2, стоимость 4 платформа 3, стоимость 3 Шаг 3 платформа 4, прыжок с платформы 2, стоимость 4+3*(5-5)=4 платформа 4, прыжок с платформы 3, стоимость 3+(5-2)=6 минимальное 4 оставляем: платформа 3, стоимость 3 платформа 4, стоимость 4 ... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |