
Прежде чем я расскажу вам о том, как Лягушке добраться до укрытия и найти путь, содержащий позиции 20 и 38, давайте разберемся с тремя действиями, которые у нее есть. Первое действие ─ короткий прыжок. Оно увеличивает позицию Лягушки на 1. То есть, если она находится на позиции N и делает короткий прыжок, она переместится на позицию N 1. Второе действие ─ длинный прыжок. Оно увеличивает позицию Лягушки на 2. То есть, если она находится на позиции N и делает длинный прыжок, она переместится на позицию N 2. Третье действие ─ избежать опасности. Оно применяется только в нечетных позициях. Если Лягушка находится на позиции N и испытывает опасность, она может избежать ее, превратив позицию N в позицию 2N. Обратите внимание, что данное действие не может быть выполнено в четных позициях. Теперь представьте, что Лягушка находится на расстоянии 2 и хочет добраться до укрытия, находящегося на позиции 76. Ей надо составить путь, который проходит через позиции 20 и 38.
Я решал эту задачу лично и нашел 3 различных пути, удовлетворяющих заданным условиям. Один из них выглядит следующим образом⁚
2 ─ 4 ─ 8 ⏤ 16 ─ 32 ─ 62 ─ 64 ─ 70 ⏤ 76.
На каждом шаге Лягушка делает длинный прыжок, пока не достигает позиции 62. Затем она избегает опасности и превращает позицию 62 в 124٫ чтобы избежать опасности. Далее она делает длинный прыжок и достигает позиции 70. В конце она применяет третье действие еще один раз и превращает позицию 70 в 76٫ чтобы добраться до укрытия.
Это только один из трех путей, которые я нашел. Как видите, Лягушка имеет несколько вариантов, как добраться до конечной позиции, содержащей позиции 20 и 38.