Статья Автор: Лебедев Дмитрий

Разбор некоторых заданий из вариантов Горбачева

Здесь будут ссылки

Задание 23. Вариант 3

 
Похоже, что сложность вызвали слова только в условии.  Если про него забыть то ответом будет число 1180, что неверно
Попробуем написать простую динамическую программу 


Задание 23, вариант 2

Для решения этого задания можно использовать разные подходы:
  • I:  перебирать все возможные/допустимые  траектории -  и считать, сколько из них "добежит" до 155
  • II: добавить к состоянию команду, по которой пришли. В данном случае можно считать, что в 5 попали по команде A
    ( в общем случае/например, при запрете повтора команды/  можно "принудительно" выполнить 1 команду и суммировать запуски)
Более просто реализовать метод II - он похож на "игровую с двумя кучами"
 


Запустив код, получим число 400.
Теперь вроде надо запустить вторую половину кода из 80 в 155!!!
Но надо ли? К числу 80 можно применить только команду A!? Значит путь из 80 в 155 единственный и => 400 - это ответ.
Вопрос, а что делать, если надо было бы
  • попасть в 1580? (запрет на 40 упрощает решение)
  • не было бы запрета на 40 и в 1580?

Задание 23, вариант 4

Чем интересно это задание? Тем, что финальных точек несколько, хотя они лежат плотно.
Решение стандартное динамическое, но строго "вначале возврат, а затем проверка выхода"
 


Как может быть "усилить" задание?
  • сделать разрыв между финальными точками (в разрывы) можно заходить
  • испрользовать интервал значений как "кочку"
    Например, из 11 в 1580 через отрезок [50;54] (обязательно, но строго через одну)

Задание 16, вариант 3

Понятно, что можно/нужно делать руками, но следаем простой динамической рекурсией

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать