目录
C++分糖果游戏
第十四届蓝桥杯青少年创意编程大赛C++选拔赛真题
一、题目要求
1、编程实现
现有N罐糖果,且已知每罐糖果的初始数量。现给出两个数值L和R(L,R),需要把每罐糖果的数量调整为:L≤任意一罐糖果的数量≤R。调整的方式是每次从其中一罐糖果中拿出1块放到其他糖果罐中。请你计算出最少调整几次才能使每罐糖果的数量都在L到R范围之间,如果不能将每罐糖果都调整到L到R范围之间则输出-1。
例如:N=2,2罐糖果的初始数量为3和8,L=3,R=6,通过调整使得:3≤任意一罐糖果的数量≤6,调整方式如下:
- 第一次从初始数量为8的罐中拿1块放到初始数量为3的罐中,调整后为(4,7)
- 第二次从数量7的罐中拿1块放到数量为4的罐中,调整后为(5,6)
故最少调整2次