#P1879. Tempus et mobilius Time and motion

Tempus et mobilius Time and motion

题目描述

"Tempus est mensura motus rerum mobilium."
(时间是对运动物体变化的度量。——亚里士多德《权威语录》)

长久以来,人们通过运动来测量时间。以球钟为例,这种简易装置通过滚珠的运动来记录时间流逝。每分钟,旋转臂从底部队列中取出一个滚珠,将其提升至时钟顶部,随后送入通往分钟、刻钟和小时指示器的轨道。这些指示器可显示1:00至12:59的时间(无上午/下午标识),例如:分钟轨道2球、刻钟轨道6球、小时轨道5球即表示5:32。

市售球钟大多未设置日期显示功能,虽然只需增加进位轨道和指示器即可实现。但通过观察滚珠在机械装置中的迁移规律,其排列顺序会呈现可预测的变化。研究这些顺序变化即可推算出自特定排列后经过的时间。由于滚珠顺序最终会循环重复,可测量的时间长度存在上限。程序需根据滚珠总数计算循环前的时长。

运作细节

每分钟,时钟底部队列中最久未使用的球会被取出,提升后放入可容纳4个球的分钟轨道。当第5个球进入分钟轨道时,其重量会使轨道倾斜,轨道上的4个球按相反顺序返回底部队列。引发倾斜的第5个球继续滚入可容纳11个球的五分钟轨道。当从分钟轨道转来的第12个球使五分钟轨道倾斜时,11个球按相反顺序返回队列,第12个球则滚入小时轨道。小时轨道同样可容纳11个球,但额外包含一个固定球,使计数范围保持在1至12小时。当从五分钟轨道转来的第12个球使小时轨道倾斜时,11个活动球按相反顺序返回队列,第12个球随后也返回队列。

输入

多个测试用例(每个用例一个整数)数字范围27-127,表示1:00时底部队列的球数(不含小时轨道的固定球),以0结束输入.

输出

对于每个输入的球钟,程序应当输出给定的球数以及球序恢复到初始排列所需的天数(24小时为1天)。

输入数据 1

30
45
0

输出数据 1

30 balls cycle after 15 days.
45 balls cycle after 378 days.