acwing 891 nim游戏 2022/03/21

acwing 891 nim游戏 2022/03/21_第1张图片

 acwing 891 nim游戏 2022/03/21_第2张图片

异或 :

1 ⊕ 1 = 0

0 ⊕ 0 = 0

1 ⊕ 0 = 1

0 ⊕ 1 = 1

异或成对是0 , 是0不一定成对

acwing 891 nim游戏 2022/03/21_第3张图片

 acwing 891 nim游戏 2022/03/21_第4张图片

 

#include 

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);
        res ^= x;
    }
    if(res == 0) puts("No");
    else puts("Yes");
}

你可能感兴趣的:(acwing,算法基础课,(存答案),c++)