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