На уроке зельеварения профессор Северус Снегг задал задачу: разделить оборотное зелье ровно пополам, не имея для этого весов, а используя только сосуды меньшего объема.
Оборотное зелье находится в сосуде A
объемом 20
унций и занимает его полностью. Имеется также два пустых сосуда: сосуд B
объемом 12
унций и сосуд C
объемом 7
унций.
Входные данные
На сосудах нет делений, поэтому в результате каждого переливания должно выполняться хотя бы одно из двух условий:
Один из сосудов, участвовавших в переливании, становится пустым;
Один из сосудов, участвовавших в переливании, становится полным.
Каждую команду переливания пишите так: сначала название сосуда откуда переливаем, потом знак «>
», и после название сосуда, куда переливаем.
Например, команда
A>B
означает, что переливание происходит из сосуда A
в сосуд B
.
Если изначально в сосуде A
было 20
унций, а сосуд B
был пустой, то в результате переливания A>B
сосуд B
станет полным, и в нем будет налито 12
унций зелья, а в сосуде A
останется 8
унций.
Если изначально в сосуде A
была 1
унция, а в сосуде C
– 7
унций, то в результате команды C>A
сосуд C
станет пустым, а в сосуде A
будет 8
унций зелья.
Составьте алгоритм переливаний, позволяющий получить в сосуде A
ровно 10
унций зелья. Каждую команду пишите в отдельной строке. Чем меньше команд получится в алгоритме, тем больше баллов он получит.
Каждую команду пишите в новой строке.
В построенном алгоритме не должно быть команд, которые:
пытаются сделать переливание из сосуда, который уже пуст;
Чтобы получить ровно 10 унций зелья в сосуде A, можно воспользоваться следующими шагами, начиная с текущего состояния:
Состояние:
A: 10 унций
B: 0 унций
C: 0 унций
Минимальные шаги для достижения цели
Переливаем из A в B:
A: 10 унций → 8 унций
B: 0 унций → 2 унции
Переливаем из B в C:
B: 2 унции → 0 унций
C: 0 унций → 2 унции
Переливаем из C в B:
C: 2 унции → 0 унций
B: 0 унций → 2 унции
Переливаем из B в A:
B: 2 унции → 0 унций
A: 8 унций → 10 унций
Теперь в сосуде A снова ровно 10 унций зелья.
Итоговое состояние
A: 10 унций
B: 0 унций
C: 0 унций
Таким образом, для достижения цели вам потребуется всего 4 шага!