Подобные задачи проще всего решать с использованием таблиц.
Обозначим: Б - бочка, B - ведро, К - ковша. Смысл команды:
"Перелей из Х в У" означает, что вода из Х переливаем в У пока У не заполнится или пока Х не опустошается.
№ | Команды | Б(28) | B(7) | К (4) |
0 | | 28 | 0 | 0 |
1 | Перелей из Б в B | 21 | 7 | 0 |
2 | Перелей из B в К | 21 | 3 | 4 |
3 | Перелей из К в Б | 25 | 3 | 0 |
4 | Перелей из В в К | 25 | 0 | 3 |
5 | Перелей из Б в В | 18 | 7 | 3 |
6 | Перелей из B в К | 18 | 6 | 4 |
Подобные задачи проще всего решать с использованием таблиц.
Обозначим: Б - бочка, B - ведро, К - ковша. Смысл команды:
"Перелей из Х в У" означает, что вода из Х переливаем в У пока У не заполнится или пока Х не опустошается.
№ | Команды | Б(28) | B(7) | К (4) |
0 | | 28 | 0 | 0 |
1 | Перелей из Б в B | 21 | 7 | 0 |
2 | Перелей из B в К | 21 | 3 | 4 |
3 | Перелей из К в Б | 25 | 3 | 0 |
4 | Перелей из В в К | 25 | 0 | 3 |
5 | Перелей из Б в В | 18 | 7 | 3 |
6 | Перелей из B в К | 18 | 6 | 4 |