标签:整数 背景 现在 世界 不重复 ++ 对不起 编号 code
众所周知,静静是 FFF 团的荣誉团长。每当单身狗孤独寂寞冷的时候,只要说一句“对不起,我想静静。”便能短暂的告别这冷酷的世界,获得片刻心灵的慰藉。但是,火把节的前夕,众团员正摩拳擦掌准备大烧一场时,静静竟然被情侣们包围了!!身为 FFF 团 35 级火系魔法师的你已经坐不住了,现在就准备出发去拯救静静!
每对情侣(两个人)有一个编号(保证每对情侣的编号不重复),给静静一个单独的编号。现在,你的任务就是尽快从人群中找到静静并把他拯救出来!
什么,你看懂了背景故事却不知道要做什么?问题是这样的:给定一个数组,除了一个数只出现一次以外,其他数都出现了两次。你要做的就是找出只出现一次的数。
输入第一行为一个数 N,代表一共有 N 个人。
接下来一行有 N 个整数,表示他们的编号。
对于50%的数据,N <= 2000。
对于80%的数据,N <= 200000。
对于100%的数据,N <= 2000000且为奇数,编号的范围在int范围内且非负。
输出只出现了一次的那个数。
5
1 1 0 2 2
0
输入规模较大,请使用scanf/printf。
/*
使用异或
交换律:a ^ b ^ c <=> a ^ c ^ b
相同的数异或为0: n ^ n => 0
任何数于0异或为任何数 0 ^ n => n
*/
#include<bits/stdc++.h>
int main(){
int n, a;
scanf("%d",&n);
int res=0;
while(n--){
scanf("%d",&a);
res ^= a;
}
printf("%d",res);
return 0;
}
标签:整数 背景 现在 世界 不重复 ++ 对不起 编号 code
原文地址:https://www.cnblogs.com/yejifeng/p/11600204.html