fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4.  
  5. void solve(ll t) {
  6. string s;
  7.  
  8. cin >> s;
  9. vector<int> v(26);
  10. for (int i = 0; i < s.length(); i++) {
  11. v[s[i] - 'a']++;
  12. }
  13.  
  14. for (int i = 0; i < 26; i++) {
  15. if (v[i] > s.length() / 2) {
  16. cout << "Case #" << i << ": IMPOSSIBLE" << endl;
  17. return;
  18. }
  19. }
  20. string ans;
  21. for (int i = 0; i < s.length(); i++) {
  22. for (int j = 0; j < 26; j++) {
  23. if (v[j] > 0 and s[i] - 'a' != j) {
  24. string k {'a' + j};
  25. ans += k;
  26. v[j]--;
  27. break;
  28. }
  29. }
  30. }
  31. cout << "Case #" << t << ": " << ans << endl;
  32. }
  33.  
  34.  
  35. int main() {
  36. ll t;
  37. cin >> t;
  38.  
  39. for (int i = 1; i <= t; i++) {
  40. solve(i);
  41. }
  42. return 0;
  43. }
Success #stdin #stdout 0.01s 5620KB
stdin
2
start
jjj
stdout
Case #1: arst
Case #9: IMPOSSIBLE