1890C - Qingshan Loves Strings 2 - CodeForces Solution


constructive algorithms

Please click on ads to support us..

C++ Code:

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

bool check(string s)
{
        ll dem = 0;
        ll n = s.size();
        for (int i = 0 ; i < n / 2 ; i++)
        {
                if (s[i] != s[n - i - 1])dem++;
        }
        if (dem == n / 2)return true;
        return false;
}

void solve()
{      
        ll n;
        string s;
        cin >> n >> s;
        if (n % 2 == 1)
        {
                cout << -1 << "\n";
                return; 
        }
        vector<ll>a;
        for (int k = 0 ; k < 300 ; k++)
        {
                ll n = s.size();
                for (int i = 0 ; i < n / 2; i++)
                {
                        if (s[i] == s[n - 1 - i] && s[i] == '0')
                        {
                                a.push_back(n - i);
                                s.insert(n - i, "01");
                                break;
                        }
                        if (s[i] == s[n - 1 - i] && s[i] == '1')
                        {
                                a.push_back(i);
                                s.insert(i, "01");
                                break;
                        }
                }        
        }
        if (check(s))
        {
                cout << a.size() << "\n";
                for (auto i: a)cout << i << " ";   
                cout << "\n";
                return;
        }
        cout << -1 << "\n";
}

int main()
{
        ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
        ll t;
        cin >> t;
        while(t--)
        {
                solve();
        }
}


Comments

Submit
0 Comments
More Questions

1030B - Vasya and Cornfield
1631A - Min Max Swap
1296B - Food Buying
133A - HQ9+
1650D - Twist the Permutation
1209A - Paint the Numbers
1234A - Equalize Prices Again
1613A - Long Comparison
1624B - Make AP
660B - Seating On Bus
405A - Gravity Flip
499B - Lecture
709A - Juicer
1358C - Celex Update
1466B - Last minute enhancements
450B - Jzzhu and Sequences
1582C - Grandma Capa Knits a Scarf
492A - Vanya and Cubes
217A - Ice Skating
270A - Fancy Fence
181A - Series of Crimes
1638A - Reverse
1654C - Alice and the Cake
369A - Valera and Plates
1626A - Equidistant Letters
977D - Divide by three multiply by two
1654B - Prefix Removals
1654A - Maximum Cake Tastiness
1649A - Game
139A - Petr and Book