Описание Из древности до нас дошли различные задачи "на переливания", когда задан набор кувшинов и требуется получить определенное количество жидкости. Вам предлагается решить эту задачу в следующем виде. Задача Задан набор кувшинов и начальное распределение жидкости по ним. Требуется определить, какие количества жидкости можно получить в кувшинах наибольшей емкости (среди представленных) путем одного или нескольких переливаний жидкости из кувшина в кувшин. При переливании жидкости из одного кувшина в другой должно обязательно выполняться хотя бы одно из двух условий: либо кувшин-источник оказывается пуст, либо кувшин-приемник - полон Например, если кувшинов всего 2, емкостью 3 литра и 5 литров, и изначально в них 1 и 4 литра воды соответственно, то ответом будет набор (5,4,2), означающий, что переливаниями можно получить 2, 4 или 5 литров воды в кувшине наибольшей емкости (5 литров в данном случае) Формат входных данных Входной файл LIQUID.DAT содержит в первой строке число кувшинов (целое от 1 до 6), во второй строке через один или несколько пробелов перечислены емкости кувшинов (целые числа от 1 до 100 литров). В третьей строке через один или несколько пробелов перечислены начальные количества воды в кувшинах (целые числа от 0 до емкости соответствующего кувшина)
Формат выходных данных Программа должна вывести в файл LIQUID.SOL набор целых чисел, означающих количества воды, которые можно получить нулем или более переливаний в одном или более кувшинов максимальной емкости (могут встречаться кувшины одинаковой емкости). Набор должен быть упорядочен по убыванию, и не содержать повторяющихся чисел. Числа должны разделяться пробелами Например:
LIQUID.DAT 3 34 6 2 34 0 0 LIQUID.DAT 34 32 30 28 26
|