1 solutions

  • -1
    @ 2024-12-18 13:39:55
    //异或应用三种解决方式  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