分配糖果 10
这一题我测试过许多次都没问题,就是过不了,系统提示:“你的程序输出结果与测试数据中的输出结果不符”。题目详情:有n个小朋友站成一排(编号从0到n-1),每个小朋友有一个r...
这一题我测试过许多次都没问题,就是过不了,系统提示:“你的程序输出结果与测试数据中的输出结果不符”。
题目详情:
有n个小朋友站成一排(编号从0到n-1),每个小朋友有一个rating值,存放在ratings数组中。老师需要给他们分配糖果,每个小朋友至少需要一颗糖果,对于任意相邻的两个小朋友i和i+1,rating值大的必须比rating值小的分配的糖果多(rating相同的没必要分配一样多的糖果)。
请计算最少需要多少颗糖果,才能完成上述分配。
输入格式:
多组数据,每组数据第一行是一个正整数n。
接下来n行,每行有1个正整数,表示每个小朋友的rating值。所有整数都不超过100000。
输出格式:
每组数据一行,包括一个正整数,表示做少需要的糖果数。
答题说明:
输入样例
3
1
2
2
输出样例:
4
我的思路:我认为这个题目和求最大上升子序列是一类题。按照输入的rating值进行顺序判断,
若是上升序列:总糖果数 += 1+2+...+n (n为上升序列的长度)
若是下降序列:总糖果数 += 1+2+...+n (n为下降序列的长度)
当下降序列结束时,如果前一个序列的最后一个rating值小于等于n,则这个rating值要改为n+1
若是相等序列:因为rating相同的没必要分配一样多的糖果,所以可以为1
代码在下面的论坛里
http://bbs.csdn.net/topics/390877006?page=1#post-398120139 展开
题目详情:
有n个小朋友站成一排(编号从0到n-1),每个小朋友有一个rating值,存放在ratings数组中。老师需要给他们分配糖果,每个小朋友至少需要一颗糖果,对于任意相邻的两个小朋友i和i+1,rating值大的必须比rating值小的分配的糖果多(rating相同的没必要分配一样多的糖果)。
请计算最少需要多少颗糖果,才能完成上述分配。
输入格式:
多组数据,每组数据第一行是一个正整数n。
接下来n行,每行有1个正整数,表示每个小朋友的rating值。所有整数都不超过100000。
输出格式:
每组数据一行,包括一个正整数,表示做少需要的糖果数。
答题说明:
输入样例
3
1
2
2
输出样例:
4
我的思路:我认为这个题目和求最大上升子序列是一类题。按照输入的rating值进行顺序判断,
若是上升序列:总糖果数 += 1+2+...+n (n为上升序列的长度)
若是下降序列:总糖果数 += 1+2+...+n (n为下降序列的长度)
当下降序列结束时,如果前一个序列的最后一个rating值小于等于n,则这个rating值要改为n+1
若是相等序列:因为rating相同的没必要分配一样多的糖果,所以可以为1
代码在下面的论坛里
http://bbs.csdn.net/topics/390877006?page=1#post-398120139 展开
1个回答
展开全部
一包糖果,分给一些小朋友。如果平均分给6个小朋友,剩下5颗;如果平均分给7个小朋友,剩下6颗;如果平均分给8个小朋友,剩下7颗。问这包糖果至少有多少颗?
根据如果平均分给6个小朋友,剩下5颗;如果平均分给7个小朋友,剩下6颗;如果平均分给8个小朋友,剩下7颗,可以知道糖果的颗数至少比6、7、8的最小公倍数少1
6、7、8的最小公倍数是6×7×4=168
168-1=167
答:这包糖果至少有167颗。
根据如果平均分给6个小朋友,剩下5颗;如果平均分给7个小朋友,剩下6颗;如果平均分给8个小朋友,剩下7颗,可以知道糖果的颗数至少比6、7、8的最小公倍数少1
6、7、8的最小公倍数是6×7×4=168
168-1=167
答:这包糖果至少有167颗。
追问
看清问题,不要乱回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询