这是一道经典的位运算题。
首先需要知道关于异或运算的两个性质:
而且,异或运算是有 交换律 和 结合律 的。
那么,我们可以把所有的a[i]都异或起来,那么:
部分代码:
for(ll i=1,x;i<=n;i++){ scanf("%lld",&x); ans^=x; // ans初始化为0没有问题 } printf("%lld",ans);
注册一个 核OJ_核桃编程 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 核OJ_核桃编程 通用账户