fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. void printVec(vector<char> fv){
  5. cout << "size = " << fv.size() << endl;
  6. for(int i=0;i<fv.size();i++){
  7. cout << fv[i];
  8. }
  9. cout << endl;
  10. }
  11. int main() {
  12. int t;
  13. cin >> t;
  14. for(int i=0;i<t;i++){
  15. string s;
  16. cin >> s;
  17. int sz = s.size();
  18. if(sz == 1){
  19. cout << "0\n";
  20. }else if(sz == 2 || sz == 3){
  21. cout << "1\n";
  22. }
  23. int red = sz/2;
  24. char arr[sz];
  25. for(int j=0;j<sz;j++){
  26. arr[j] = s[j];
  27. }
  28. for(int j=0;j<sz-1;j++){
  29. for(int k=0;k<sz-1-j;k++){
  30. if(arr[k] > arr[k+1])
  31. swap(arr[k],arr[k+1]);
  32. }
  33. }
  34. vector<char> v((sz+1));
  35. for(int j=0;j<sz+1;j++){
  36. if(j==0)
  37. v.push_back('0');
  38. if(j == 1 || arr[j] != arr[j-1] || (arr[j] == arr[j-1] && arr[j] != arr[j-2]))
  39. v.push_back(arr[j]);
  40. }
  41. printVec(v);
  42. cout << v.size()/2 << endl;
  43.  
  44. }
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0.01s 5272KB
stdin
1
kzaaa
stdout
size = 12
0aakz
6