Переливание воды Pascal

Антон13 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
17.12.2013

Имеем три посуды с максимальным объемом 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