avatar

目录
题解 P1469 【找筷子】

这题对于初学OI的人是一道很有趣的题,让我们来看看吧!

解法1

  • $n \le 10^5+1$

直接sort搞掉,看哪个数出现奇数次。

期望得分 $60$ 分。

解法2

  • $n \le 10^7+1$

前置知识:位运算里的异或运算。

异或运算有一个性质,$a \operatorname{xor} a = 0$。

那么,我们可以把所有数都异或起来,这样子的结果即为出现奇数次的数。

期望得分 $ 80 \sim 100$ 分。

注意使用scanf以获得 $100$ 分。

代码

cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<bits/stdc++.h>
using namespace std;

int main(){
int n,ans=0;
cin>>n;
for(int i=1;i<=n;++i){
int tmp;
// cin>>tmp;
scanf("%d",&tmp);
ans^=tmp;
}
// cout<<ans;
printf("%d",ans);
return 0;
}
文章作者: lianjiaming
文章链接: http://lianjiaming.github.io/2020/03/16/solution-P1469/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jimmy_Lian的博客

评论