题目链接
解题方法:枚举第一位的情况遍历环。
题目分析
题目大意
n个人,每个人各有一定数量的糖,相邻的两个人x和y只能进行一次如下三种操作的一种
x给y一颗糖y给x一颗糖x和y谁都不给谁糖
问,最终怎样操作,能使每个人的糖数相同。
解析
先判断能否平分
- 如果所有糖数无法整除人数则不行
- 每个人拥有的糖数和平均值差大于等于
2时不行,因为一个人只能从左边要一颗糖,右边要一颗糖,所以一个人最多只能获得两颗糖,同理,每个人也只能给出两颗糖
处理一下,找到每个人和平均值的相对差,将这些数都凑成0。
枚举最初的状态,最初的状态只能为0, 1, -1,最终状态应该与最初状态相同,并且每次cur必须在(-2, 2)区间内,因为如果等于二了,就无法凑成0了。
代码
1 |
|