Чтобы решить эту задачу, давайте разберёмся с условиями. Варя гуляла со своей подружкой Леной 2 часа (120 минут) до первого звонка. Затем, после звонка, у мамы есть два варианта решения:
- Позволить гулять столько же времени, сколько уже гуляла (это добавляет ещё 2 часа, т.е. 120 минут).
- Потребовать прийти домой через 5 минут.
Цель состоит в том, чтобы общее время прогулки составило 4,5 часа (или 270 минут), а также чтобы был ровно 5 звонков.
В начале у нас уже есть 120 минут прогулки. Нам нужно добавить 150 минут, чтобы достичь конца на 270 минут.
Теперь давайте проанализируем последовательность звонков, чтобы получить нужное время.
Пусть:
1— решение мамы, позволяющее гулять столько же времени.2— решение мамы, требующее быть дома через 5 минут.
Имеем 5 звонков.
Начальная прогулка: 120 минут.
Для того чтобы получить всего 270 минут, мы можем использовать:
Если мама говорит
1(гулять столько же), это добавляет 120 минут, и прогулка закончится на 240 минутах. Есть еще 30 минут до достижения 270 минут.Если мы сделаем ещё один звонок
1, то будет 360 минут, что превышает 270 минут — это не подходит.Если после первого
1будет 3 звонка2(т.е. 3 раза сказать "Будь дома через 5 минут"), то:- 120 (начальные) + 120 (первый звонок
1) + 15 (три звонка2, по 5 минут каждый) = 255 минут. - Это также меньше 270 минут — не подходит.
- 120 (начальные) + 120 (первый звонок
Теперь вариант 1 (позволить погулять) допустим только один раз. Какое решение может ещё дать мама?
Давайте попробуем другую комбинацию. Мы можем сделать один раз 1, а потом несколько 2, чтобы получить недостающие минуты.
Попробуем сочетание:
1(время уже 120 + 120 = 240 минут)- После этого результаты
2(время каждой2- это новый, краткосрочный таймер, который, как бы, обрезает прогресс):
При таком подходе:
- Первый звонок:
1(позволить гулять 2 часа) = 240 минут. - Второй звонок:
2(5 минут) добавляет 5 минут. Теперь: 240 + 5 = 245 минут. - Третий звонок:
2(ещё 5 минут) = 250 минут. - Четвёртый звонок:
2(пятюньки) = 255 минут. - Пятый звонок:
2(последний пять) = 260 минут.
Одной такой последовательности (где два-три звонка 2) нам не хватит, чтобы достичь 270.
Следует расширить использование соответственно.
Так, вот последовательность:
- Первый звонок
1(позволить гулять на 2 часа) - Второй звонок
2(5 минут) - Третий звонок
2(ещё 5 минут) - Четвёртый звонок
1(снова 2 часа) (от 255 до плюс 120 = 375 минут). - Пятый звонок: (5 минут, 5-5 минуты)
И длина прогулки составит: 120 + 120 + 10 = 270минут
Таким образом, комбинация решения будет: 11222
Пока разработаем отдельные несколько состоянией и комбинаций для завершения собранного числа звонков, когда они созданы.