fork(2) download
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4.  
  5.  
  6. using namespace std;
  7. int main()
  8. {
  9. int l;
  10. cin >> l;
  11. for (int i = 0; i < l; i++)
  12. {
  13. string wyraz,wynik;
  14. int ilosc = 1;
  15. cin >> wyraz;
  16. cin.clear();
  17. cin.ignore(1000, '\n');
  18. for (int y = 0; y <= wyraz.size(); y++)
  19. {
  20. if (y == 0)
  21. {
  22. wynik+= wyraz[y];
  23. }
  24. else
  25. {
  26. if (wyraz[y] == wyraz[y - 1])
  27. {
  28. ilosc++;
  29. }
  30. else
  31. {
  32. if (ilosc > 2)
  33. {
  34. wynik += to_string(ilosc);
  35. ilosc = 1;
  36. wynik += wyraz[y];
  37. }
  38. else
  39. {
  40. if (ilosc == 1)
  41. wynik += wyraz[y];
  42. else
  43. {
  44. ilosc = 1;
  45. wynik += wyraz[y-1];
  46. wynik += wyraz[y];
  47. }
  48. }
  49. }
  50. }
  51. }
  52. cout << wynik << endl;;
  53. }
  54.  
  55. }
Success #stdin #stdout 0.01s 5512KB
stdin
4
OPSS
ABCDEF
ABBCCCDDDDEEEEEFGGHIIJKKKL
AAAAAAAAAABBBBBBBBBBBBBBBB
stdout
OPSS
ABCDEF
ABBC3D4E5FGGHIIJK3L
A10B16