题目名称 643. 小球钟—时间与运动
输入输出 xqz.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2012-02-24加入
开放分组 全部用户
提交状态
分类标签
线性结构 模拟 队列
分享题解
通过:6, 提交:15, 通过率:40%
Gravatarqwq 100 0.004 s 0.32 MiB C++
Gravatarcstdio 100 0.035 s 0.24 MiB C++
GravatarCloud 100 0.156 s 0.30 MiB C++
GravatarMakazeu 100 0.799 s 0.26 MiB C++
GravatarTBK 100 1.171 s 0.30 MiB C++
GravatarCzb。 100 1.717 s 0.26 MiB C++
GravatarMakazeu 90 1.799 s 0.26 MiB C++
Gravatar王者自由 90 1.871 s 0.26 MiB C++
GravatarQhelDIV 90 2.108 s 0.30 MiB C++
GravatarQhelDIV 90 2.110 s 38.41 MiB C++
本题关联比赛
20120224
关于 小球钟—时间与运动 的近10条评论(全部评论)

643. 小球钟—时间与运动

★   输入文件:xqz.in   输出文件:xqz.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

时间是运动的一种方式,所以常常用运动来度量时间。如图所示的小球钟就是一个通过不断在轨道上移动小球来度量时间的简单设备。

每分钟,一个转动臂将一个小球从小球队列的底部挤走,将它上升到钟的顶部并安置在一个表示分钟, 5 分钟和小时的轨道上。这里可以显示从 1:00 到 12:59 范围内的时间,但无法表示 “a.m.” 和 “p.m.” 。若有 2 个球在分钟轨道, 6 个球在 5 分钟轨道及 5 个球在小时轨道上,就显示时间 5:32 。

不幸的是,大多数市场上提供的小球钟无法显示日期,尽管只需要简单地加上一些轨道就可以了。当小球通过钟的机械装置被移动后,它们就会改变其初始次序。仔细研究它们随着时间的流逝发生的次序的改变,可以发现相同的次序会不断出现。由于小球的初始次序最后迟早会被重复,所以这段时间的长短是可以被度量的,这完全取决于所提供小球的总数。

每分钟,最近最少使用的那个小球从位于球钟底部的小球队列被移走,并将上升安置于显示分钟的轨道上,这里可以放置 4 个小球。当第 5 个小球滚入该轨道,它们的重量使得轨道倾斜,原先在轨道上的 4 个小球按照与它们原先滚入轨道相反加入到钟底部的小球队列。引起倾斜的第 5 个小球滚入显示 5 分钟的轨道,该轨道可以放置 11 个球。当第 12 个小球滚入该轨道,它们的重量使得轨道倾斜,原先 11 个小球同样以相反的次序加入钟底部的小球队列。而这第 12 个小球滚入了显示小时的轨道。该轨道同样可以放置 11 个球,但这里有一个外加的固定不能被移动的小球,这样小时的值域就变为 1 到 12 。从 5 分钟轨道滚入的第 12 个小球将使小时轨道倾斜,这 11 个球同样以相反的次序加入钟底部的小球队列,然后第 12 个小球同样加入钟底部的小球队列。

输入小球的个数,输出该时钟在经过多少天的运行可以回到它的初始小球序列。例如有 45 个小球的钟经过 378 天会回到初始状态。

【输入格式】

输入文件只有一行,有一个整数n,表示小球的个数.

【输出格式】

输出文件也只有一行,有一个整数m,表示小球钟回到初始状态的天数.

【样例输入】

45

【样例输出】

378