Переливание воды Pascal
Имеем три посуды с максимальным объемом a, b, c (целочисленного значения) {a, b, c не больше, чем 10}, в которых на начало имеем объем x, y, z воды, в этом порядке.
Воду можем переливать с посуды до посуды: посуду, в которую, наливаем, можем наполнить до максимума или посуду откуда выливаем, можем вылить полностью.
Воду не имеем право, выливать никуда больше, кроме этих посуд, а также наполнять посуды из других источников.
Вход программы: числа a b c x y z обозначающие начальный объем и максимальный объем посуды.
Выход программы: выводит список объемов (в том числе и 0, если это может быть), которые можем достигнуть переливанием, а после двоеточие минимальное количество необходимых перелитий.
Пример:
Вход:
4 1 1 1 1 1
Выход:
0:1 1:0 2:1 3:2
Язык Pascal, полное тестирование програмы с различными вариантыми входа.
Похожее решение: http://informatics.mccme.ru/moodle/mod/statements/view3.php?id=4440&chapterid=3880