CF859G Circle of Numbers
题目描述
在一个圆的边缘周围标记了 $n$ 个均匀分布的点。每个点上都写有一个数字。你选择一个正实数 $k$。然后,您可以重复选择一组 $2$ 个或更多均匀分布的点,或者将该组中所有点的数字增加 $k$,或者将该组中所有点的数字减少 $k$。你希望最终所有的数字都等于 $0$。可能吗? 如果一组 $2$ 个点正好相反,则认为它们是均匀分布的;如果一组 $3$ 个或更多的点形成一个正多边形,则认为它们是均匀分布的。
输入格式
第一行输入包含一个整数 $n$,即沿圆的点数。 下面一行包含一个字符串 $s$,它正好有 $n$ 个数字,以顺时针顺序表示最初出现在每个点上的数字。
输出格式
如果有一些操作序列导致所有数字都是 $0$,则打印`YES`,否则打印`NO`。
说明/提示
If we label the points from $ 1 $ to $ n $ , then for the first test case we can set $ k=1 $ . Then we increase the numbers at points $ 7 $ and $ 22 $ by $ 1 $ , then decrease the numbers at points $ 7 $ , $ 17 $ , and $ 27 $ by $ 1 $ , then decrease the numbers at points $ 4 $ , $ 10 $ , $ 16 $ , $ 22 $ , and $ 28 $ by $ 1 $ .