Binary Base Basics Solution
Codechef February Long Challenge 2022 - I
Problem Code : BINBASBASIC
Solution :
#include <bits/stdc++.h>
#define ll long long int
#define ull unsigned long long int
using namespace std;
void solve()
{
ll n, k;
cin >> n >> k;
string s;
cin >> s;
bool ans;
if (n % 2 == 1)
{
ll badness = 0;
for (ll i = 0; i < n / 2; i++)
{
if (s[i] != s[n - i - 1])
badness++;
}
if (badness <= k)
{
ans = true;
}
else
{
ans = false;
}
}
else
{
ll badness = 0;
for (ll i = 0; i < n / 2; i++)
{
if (s[i] != s[n - i - 1])
badness++;
}
if (badness == k)
ans = true;
else if (badness < k)
{
if ((k - badness) % 2 == 0)
ans = true;
else
ans = false;
}
else
{
ans = false;
}
}
if (ans)
{
cout << "YES\n";
}
else
{
cout << "NO\n";
}
}
int main()
{
ll t;
cin >> t;
while (t--)
{
solve();
}
}
Comments
Post a Comment