模拟加置换的应用
题意 :
告诉了一个钟的运行过程, 模拟里面小球的运行,问多少次回到初始状态
又是初始化问题WA 了次
分析 :
1. 按每分钟来模拟,一天一共1440分钟,题目最大数据给到120,如果结果在1000天以上,肯定是时间上过不去的。因为后面每次变换与第一次实质一样,采用转换,不用重复模拟。
2. 判断每一个小球回到开始的周期,那么小球的周期最小公倍即为整个循环一遍的时间
3. 最底端队列操作,上面的全是栈操作。类里完成这些操作。
4. check代码是多余的,一开始试了一下暴力完全模拟。跑个30还行~~~
5. 置换一个数组,周期一个数组。
代码 :