XORNARY - Phép XOR trên dãy nhị phân

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Cho 2 dãy nhị phân ~A~ và ~B~. Hãy thực hiện phép ~A\ xor\ B~ ( phép ~xor~ tương đương với toán tử ^ trong một số các ngôn ngữ lập trình ) và in ra kết quả của phép ~xor~ đó.

Input

  • 1 dòng gồm 2 dãy nhị phân ~A~ và ~B~.

Biết rằng

  • ~1 \leq |A|, |B| \leq 50~ (với ~|A|~ là độ dài của dãy nhị phân ~A~, ~|B|~ là độ dài của dãy nhị phân ~B~)
  • ~|A| = |B|~

Output

  • 1 dòng là kết quả của phép ~A\ xor\ B~ (nếu kết quả có chữ số không đứng đầu, hãy loại bỏ nó).

Sample

Input #1
1010 1100
Output #1
110

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    yammm  đã bình luận lúc 19, Tháng 2, 2024, 14:26

    ```#include<bits/stdc++.h>

    using namespace std;

    int main(){

    string a, b;
    
    cin >> a >> b;
    
    string ans = "";
    
    reverse(a.begin(), a.end());
    
    reverse(b.begin(), b.end());
    
    while(a.size() < b.size()) a += '0';
    
    while(b.size() < a.size()) b += '0';
    
    for(int i = 0; i < a.size(); i++) ans += (a[i] - '0') ^ (b[i] - '0') + '0';
    
    int i = ans.size();
    
    while(i--) {
    
        if(ans[i] == '0') ans.pop_back();
    
        else break;
    }
    reverse(ans.begin(), ans.end());
    cout << ans;
    

    }```