个人技术分享

题目传送门

解题思路:

对于齿轮的转动,我们只需要考虑第 1 1 1 个齿轮的向右的转动次数,以此使后面的齿轮也一起转动,然后去考虑后面的齿轮是否处在正确的位置即可。

特别注意: 奇数齿轮与偶数齿轮的方向是不同的。

CODE:

#include <stdio.h>
int main() {
	int n, x;
	scanf("%d%d", &n, &x);
	x -= n;
	for (int i = 2; i <= n; i++, x = -x){
		int y;
		scanf("%d", &y);
		if ((x + y + n) % n + 1 != i){
			puts("No");
			return 0;
		}
	}
	puts("Yes");
	return 0;
}