Anagram

Solutions Possible C++ Solution: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include <set>#include <cstdio>#include <vector>#include <iostream>#include <algorithm>using namespace std; int main() { int T; cin >> T; string s; while (T--) { cin >> s; if (s.size() % 2) { cout << -1 << endl; continue; } multiset<char> inters; const auto splitIt = begin(s)+(s. [Read More]

Happy Ladybugs

Solutions This problem can be solved by considering a few things: if a ladybug's color is unique in the set, the ladybug will never be happy (the solution is “NO”); if 1) does not occur and if there is at least one empty cell, then the solution is always “YES” since it's always possible to rearrange the ladybugs in the best position; if 2) does not occur then the solution is “YES” only if all the ladybugs are already happy (because they cannot be moved) The first two properties are easy to check by using a frequency table (can be implemented with a map/dictionary or with a statically-sized array, since the number of letters is known - \(|A-Z|\)|). [Read More]

Super Reduced String

Solutions A solution changes the string by removing same adjacent elements. Here is a C++ implementation: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <string>#include <iostream>#include <algorithm>using namespace std; int main() { string S; cin >> S; auto finder = [&]{ return adjacent_find(begin(S), end(S)); }; for (auto adjFind = finder(); adjFind != end(S); adjFind = finder()) { S. [Read More]