fork(3) download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int size_ns,same,licznik,licznik_ns, a;
  8. string slowo, *nowe_slowo;
  9. cin>>a;
  10.  
  11. for(int j=0; j<a; j++)
  12. {
  13. cin>>slowo;
  14. string*nowe_slowo = new string[slowo.size()];
  15. for (int i=0, licznik_ns=0; i<slowo.size(); i++)
  16. {
  17. if (slowo[i]==slowo[i+1]&&slowo[i+1]==slowo[i+2])
  18. {
  19. for(same=2, licznik=i; slowo[licznik+1]==slowo[licznik+2]; same++, licznik++)
  20. {
  21. }
  22. nowe_slowo[licznik_ns]=slowo[i+1];
  23. nowe_slowo[licznik_ns+1]=same+48;
  24. i+=same-1;
  25. licznik_ns+=2;
  26. }
  27. else if(slowo[i]==slowo[i+1])
  28. {
  29. nowe_slowo[licznik_ns]=slowo[i];
  30. nowe_slowo[licznik_ns+1]=slowo[i+1];
  31. i++;
  32. licznik_ns+=2;
  33. }
  34. else
  35. {
  36. nowe_slowo[licznik_ns]=slowo[i];
  37. licznik_ns++;
  38. }
  39. size_ns=licznik_ns;
  40. }
  41. for(int i=0;i<size_ns;i++)
  42. {
  43. cout<<nowe_slowo[i];
  44. }
  45. cout<<endl;
  46. }
  47. delete [] nowe_slowo;
  48. return 0;
  49. }
  50.  
Success #stdin #stdout 0s 4552KB
stdin
5
abbccc
abcde
aabbccdd
abbcccbba
abbcccddddeeeeeddddcccbba
stdout
abbc3
abcde
aabbccdd
abbc3bba
abbc3d4e5d4c3bba