HDU 2095 find your present(异或位运算)

刚开始做这题时,感觉水题啊,于是直接开了个1000000大小的数组,结果无情的memory limit exceed ,上网查了查大牛们的代码,真是很NB,感觉自己还很弱,还有很长的路要走啊

#include<stdio.h>
int N;
int main()
{
    while(scanf("%d",&N))
    {
        if(N==0)break;
        int orignal=0;
        int num;
        while(N--)
        {
            scanf("%d",&num);
            orignal=orignal^num;//0与任何数异或都等于他本身
                                //任何数与他本身异或都等于0
                            //异或满足交换律
        }
        printf("%d\n",orignal);
    }
    return 0;
}


你可能感兴趣的:(find)