SolitaireSimulation 游戏
【题目描述】让我们来玩这个游戏:我们有一些卡片,分成若干堆。heap[i]表示第i堆的卡片数量。游戏的每一步,你从每一堆中取出一张卡片组成新的一堆。
如果我们不记顺序只记每堆卡片的数量,显然,最终这个游戏会进入一个循环。
给定你初始的卡片信息,请你求出一个最小的循环长度。换句话说,当进行了一段游戏之后,若令f(i)表示第i歩后的卡片状态,总有f(i+T)=f(i)。找出最小的正数T。
【输入文件】第一行一个整数n,表示初始堆数
第二行n个正整数,表示每一堆的数量。
【输出文件】一个整数,表示最小正周期。
【输入样例】
2
1 4
【输出样例】
3
【样例说明】
1. 2,3
2. 1,2,2
3. 1,1,3
4. 2,3
5. 1,2,2
6. …
最小正周期是3。注意,本例中初始状态不会再度出现。
【数据规模和约定】
1<=n<=50
1<=heap[i]<=50
所有heap[i]之和不超过50。
信息
- 难度
- 3
- 分类
- (无)
- 标签
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者