当奇数层台阶的异或值为0的时候,对手拿奇数,我们也拿奇数,对手拿偶数,我们也拿偶数(拿相同的石子到下一台阶 , 奇数偶数台阶)
#include <iostream>
using namespace std;
/*
先手必胜状态:先手操作完,可以走到某一个必败状态
先手必败状态:先手操作完,走不到任何一个必败状态
先手必败状态:a1 ^ a2 ^ a3 ^ ... ^an = 0
先手必胜状态:a1 ^ a2 ^ a3 ^ ... ^an ≠ 0
*/
int main(){
int n;
scanf("%d", &n);
int res = 0;
for(int i = 0; i < n; i++) {
int x;
scanf("%d", &x);
if(i % 2 == 0) res ^= x;
}
if(res == 0) puts("No");
else puts("Yes");
}