/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Wrong Answer 2ms 536.0 KiB
#3 Wrong Answer 97ms 532.0 KiB

Code

#include <bits/stdc++.h>
using namespace std;

int main() {
    int t;
    cin >> t;
    while (t--) {
        int n;
        cin >> n;
        string s;
        cin >> s;
        string p;
        cin >> p;
        function<bool(int)> rec = [&](int i) -> bool {
            if (i == n - 1) {
                return s[i] == p[i];
            }
            if (s[i] == p[i]) {
                if (rec(i + 1))
                    return true;
                char prv = s[i+1];
                if (s[i] == '0') {
                    s[i+1] = '1';
                } else {
                    s[i+1] = '0';
                }
                if (rec(i + 1))
                    return true;
                s[i+1] = prv;
            } else {
                char prv = s[i];
                char prv2 = s[i+1];
                if (s[i] == '0') {
                    s[i+1] = '0';
                } else {
                    s[i+1] = '1'; 
                }
                if (rec(i + 1))
                    return true;
                s[i] = prv;
                s[i+1] = prv2;
            }
            return false;
        };
        cout << (rec(0) ? "YES" : "NO") << "\n";
    }
}

Information

Submit By
Type
Submission
Problem
P1233 B. Make Binary Strings Equal
Contest
Happy New Year 2026
Language
C++17 (G++ 13.2.0)
Submit At
2026-01-06 14:44:12
Judged At
2026-01-06 14:44:13
Judged By
Score
0
Total Time
97ms
Peak Memory
536.0 KiB