1 solutions
-
-1
//异或应用三种解决方式 by Lancas #include<bits/stdc++.h> using namespace std; //三种办法解决 加减 数组 及异或 //法1 加减 //#include<bits/stdc++.h> //using namespace std; int a1,x1=0; signed main(){ for(int i=0;i<1001;i++){ cin>>a1; x1+=a1; } cout<<x1-500500;//500500是一加到1000 而x1是1加到1000再加那个重复的数,所以直接 x1-500500 return 0; } //法2 数组 #include<bits/stdc++.h> using namespace std; int b2[1002],c2[1004]={0}; signed main(){ for(int i=0;i<=1000;i++){ cin>>b2[i]; if(c2[b2[i]]==0){//这个很简单 不会的话重开一维数组吧 c2[b2[i]]=1; } else{ cout<<b2[i]; break; } } //法3 异或 #include<bits/stdc++.h> using namespace std; int a3[2001],x3=0; signed main(){ for(int i=1001;i<2001;i++){ a3[i]=i-1000;//因为异或筛出来的是奇数次的 而出现两次是偶数 所以我们让他变为出现三次,就要再加一次1 to 1000 . } for(int i=0;i<1001;i++){ cin>>a3[i]; } for(int i=0;i<2001;i++){ x3^=a3[i]; } cout<<x3; return 0; } //完结撒花 //制作不易 给个点赞吧
- 1
Information
- ID
- 1151
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- (None)
- # Submissions
- 286
- Accepted
- 28
- Uploaded By