Чтобы решить эту задачу, давайте разберёмся с условиями. Варя гуляла со своей подружкой Леной 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 минут — не подходит.
Теперь вариант 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
Пока разработаем отдельные несколько состоянией и комбинаций для завершения собранного числа звонков, когда они созданы.