Навчання / Бібліотека / Головоломки
Банки з фарбою на полиці
У маляра є порожня банка на літри та порожня банка на літрів, а ще необмежений кран і зливний отвір. Одна операція — це одна з дій: наповнити банку до країв біля крана, повністю вилити банку в отвір або перелити з однієї банки в іншу, доки джерело не стане порожнім чи цільова банка не наповниться. Позначок на банках немає. Яка мінімальна кількість операцій, після яких в одній з банок буде рівно літрів?
Для перевірки відповіді потрібен JavaScript. Підказка й розв’язок відкриваються і без нього.
Підказка
Записуйте вміст як пару (мала, велика) і шукайте за рівнями; дозволені лише наповнення, виливання та переливання.
Розв’язок
- Наповніть велику банку (), перелийте в малу (), вилийте малу () і перелийте знову (): пара така (, ), тож у великій банці лишився лише літр.
- Вилийте малу банку () і перелийте цей літр (), отримавши пару (, ).
- Наповніть велику банку () і перелийте в малу, де є місце на літри ().
- Тоді у великій банці рівно літрів, а перебір усіх коротших послідовностей не досягає .
- Отже, мінімальна кількість операцій дорівнює .
Відповідь: