Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void SolveC()
- {
- size_t t;
- cin >> t;
- for (size_t i = 0; i < t; ++i)
- {
- int cnt[26] = { 0 };
- string s;
- cin >> s;
- for (size_t j = 0; j < s.length(); ++j)
- if (s[j] >= 'a' && s[j] <= 'z')
- ++cnt[s[j] - 'a'];
- size_t n1 = 0;
- size_t nLong = 0;
- string alphabet = "abcdefghijklmnopqrstuvwxyz";
- int x = 0;
- for (size_t j = 0; j < 26; ++j)
- {
- x ^= cnt[j];
- if (cnt[j] == 1)
- ++n1;
- if (cnt[j] > 1)
- ++nLong;
- }
- if (nLong == 0)
- {
- if (n1 % 2)
- {
- cout << 2;
- }
- else
- {
- size_t j = 0;
- while (cnt[j] == 0) ++j;
- cout << "1 " << alphabet[j];
- }
- }
- else if (nLong == 1)
- {
- cout << "1 ";
- size_t j = 0;
- while (cnt[j] <= 1) ++j;
- for (size_t k = 1; k < cnt[j]; ++k)
- cout << alphabet[j];
- if (n1 % 2)
- cout << alphabet[j];
- }
- else
- {
- if (x == 0)
- {
- cout << 2;
- }
- else
- {
- cout << "1 ";
- for (size_t j = 0; j < 26; ++j)
- {
- if (cnt[j] >= cnt[j] ^ x)
- {
- for (int k = cnt[j] ^ x; k < cnt[j]; ++k)
- {
- cout << alphabet[j];
- }
- break;
- }
- }
- }
- }
- cout << "\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement