fork(3) download
  1. #include <iostream>
  2. #include <sstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8. int t, j;
  9. ostringstream temp;
  10. string inString, outString;
  11.  
  12. cin >> t;
  13. while(t--) {
  14. outString.clear();
  15. cin >> inString;
  16. for(int i = 0; i < inString.length(); i++) {
  17. outString += inString[i];
  18. j = 0;
  19. temp.str("");
  20. if(!((inString[i-1] != inString[i]) && (inString[i] == inString[i+1]) && (inString[i] != inString[i+2])) && inString[i+1] != '\0') {
  21. do {
  22. if((j > 2 && inString[j+i] != inString[i]) || inString[j+i] == '\0') {
  23. temp << j;
  24. outString += temp.str();
  25. i += j-1;
  26. }
  27. j++;
  28. }while(inString[i] == inString[j+i-1]);
  29. }
  30. }
  31. cout << outString << endl;
  32. }
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0s 3476KB
stdin
4
OPSS
ABCDEF
ABBCCCDDDDEEEEEFGGHIIJKKKL
AAAAAAAAAABBBBBBBBBBBBBBBB
stdout
OPSS
ABCDEF
ABBC3D4E5FGGHIIJK3L
A10B16