问题3023--吃香蕉3023: 吃香蕉
时间限制: 1 Sec 内存限制: 512 MB
提交: 0 解决: 0
[提交] [状态] [讨论版] [命题人:]题目描述
有n只猴子,编号1到n(n<=50)。猴子得到一些香蕉,每只猴子拥有的香蕉数量也是1到n,并且任意两只猴子拥有的香蕉数量都不相同。
现在,所有猴子开始吃香蕉。编号是i的猴子决定要吃i只香蕉,1<=i<=n。如果它拥有的香蕉足够,那就最好;如果不够,先吃完自己的,然后它就要问饲养员要香蕉。总之要吃i只香蕉。
如果有某一只猴子吃完了自己的香蕉,而且正好够(不用问饲养员要),那么它会变得比较郁闷,所以我们不允许任何一只猴子出现这种情况。
问最终吃完香蕉后,可能出现多少种不同的情况。在两个方案中,只要存在一只猴子的两次情况不一样,这两个方案就是不同的。
输入
一个正整数n。
输出
情况总数。
样例输入
3
样例输出
2
说明:
如果3只猴子依次拥有3、1、2只香蕉,那么1号猴子最后剩2只,2号猴子要了1只,3号猴子要了1只,这是一个方案。另一个方案是3只猴子依次拥有2、3、1只香蕉,那么1号猴子最后剩1只,2号猴子剩1只,3号猴子要了2只。
但如果3只猴子依次拥有2、1、3只香蕉,那么3号猴子会郁闷,不符合要求。
来源/分类
[提交] [状态]