Необычные часы
От: olimp_20  
Дата: 28.10.15 13:31
Оценка:
Шариковые часы.
Изобретатель создал часы, которые можно настраивать для отсчета времени. Часы состоят из шариков, желоба и трех чашек: секундной, минутной и часовой. В каждый момент времени количество шариков в чашках показывает время: секунды, минуты, часы. Каждую секунду первый шарик из желоба попадает в секундную чашку. Если секундная чашка наполнилась, то этот шарик переходит к минутной чашке, а остальные шарики переходят из секундной чашки в конец желоба в порядке, обратном к их поступлению в секундную чашку. Аналогично, при наполнении минутной чашки последний шарик переходит к часовой чашки, а остальные шарики с минутной чашки переходит в конец желоба в порядке, обратном к их поступленю в минутную чашку. Если заполняется часовая чашка, то все шарики из нее переходят в конец желоба в порядке, обратном к их поступлению в часовую чашку. Все шарики пронумерованы и в начальный момент времени находятся в желобе.
Написать программу, которая будет вычислять наименьшее количество суток, необходимых для того, чтобы исходное положение шариков в желобе повторилось.
Формат входных данных
Входной файл содержит в единственной строке натуральные числа S, M, H, K (количество секунд в минуте, минут в час, часов в сутках и общее количество шариков соответственно; S, M, H ≤ 60, S + M + H-2 ≤ K ≤ 1000).
Формат результата
Выходной текстовый файл должен содержать в единственной строке количество суток.
Пример
Входные данные в файле Выходные данные в файле
2 2 2 4 3
Вопрос:
1) надо ли программно моделировать перемещение шаров (очередь + три стека), чтобы решить задачу? Или надо подсчитать количество комбинаций (то есть за что "ухватится", какая идея решения)?
2) допустим все чашки могут содержать по 2 шарика и находятся в состоянии [1,2], [3,4], [5,6]. при добавлениий к секундной чашке шарика №7 куда перейдут шарики и какое состояние будет у всех чашек?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.