Xor Palindrome Solution || Codechef February Long Challenge 2022 - II

   

Xor Palindrome Solution 

Codechef February Long Challenge 2022 - II
Problem Code : XORPAL

Solution :

#include <bits/stdc++.h>
#define ll long long int
#define ull unsigned long long int
using namespace std;

void solve()
{
    ll n;
    string s;
    cin >> n >> s;
    ll one = 0, zero = 0;
    for (ll i = 0; i < n; i++)
    {
        if (s[i] == '1')
            one++;
        else
            zero++;
    }
    if (n % 2 == 0)
    {
        if (one % 2 == 0 && zero % 2 == 0)
            cout << "YES\n";
        else if (one == zero)
            cout << "YES\n";
        else
            cout << "NO\n";
    }
    else
    {
        if (one > zero)
        {
            if ((one - zero) % 2 == 1)
                cout << "YES\n";
            else
                cout << "NO\n";
        }
        else
        {
            if ((zero - one) % 2 == 1)
                cout << "YES\n";
            else
                cout << "NO\n";
        }
    }
}

int main()
{
    ll t;
    cin >> t;
    while (t--)
    {
        solve();
    }
}

Comments