zoukankan      html  css  js  c++  java
  • ※P1469 找筷子

    我们考虑异或的两个小小的性质:

    • 任何数与 0 的异或值是它本身
    • k 个相同的数的异或和,当 k 为奇数时,结果是这个数本身,否则结果是 0
    • 异或满足交换律和结合律

    题目需要求 n 个数中出现奇数次的那个数,且保证这个数存在且只有一个。于是我们根据上面两个性质得出,答案就是这 n 个数的异或和。

    int n;
    
    int main()
    {
        cin>>n;
    
        int ans=0;
        for(int i=0;i<n;i++)
        {
            int x;
            scanf("%d",&x);
            ans^=x;
        }
    
        cout<<ans<<endl;
    
        //system("pause");
    }
    
  • 相关阅读:
    CSU 1122
    CSU 1256
    CSU 1240
    HDU 1874
    CSU 1004
    Problem F CodeForces 16E
    Problem E CodeForces 237C
    Problem C FZU 1901
    12-30
    2016-12-29
  • 原文地址:https://www.cnblogs.com/fxh0707/p/13699060.html
Copyright © 2011-2022 走看看