fork(2) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int liczba_testow;
  8. cin>>liczba_testow;
  9.  
  10. string tab[liczba_testow];
  11.  
  12. for(int i=0; i<liczba_testow; i++)
  13. {
  14. cin>>tab[i];
  15. char work[400];
  16. int g=0;
  17. int l=2;
  18. int l1=0;
  19. int l2=0;
  20. int l3=0;
  21. for(int a=0; a<tab[i].size(); a++)
  22. {
  23.  
  24.  
  25. work[g]=tab[i][a];
  26. g++;
  27.  
  28.  
  29. if(tab[i][a]==tab[i][a+1]&& (tab[i][a]==tab[i][a+2]))
  30. {
  31. l++;
  32. g--;
  33.  
  34. if(tab[i][a+2]!=tab[i][a+3]) {
  35.  
  36. a=a+2;
  37.  
  38.  
  39. if(l>2){
  40. if(l<10){
  41. work[g+1]=(char)l+48;
  42. g=g+2;
  43. l=2;
  44.  
  45. }
  46. else if( l<100){
  47. l1=(l/10)%10;
  48. l2=l%10;
  49. work[g+1]=(char)l1+48;
  50. work[g+2]=(char)l2+48;
  51. g=g+3;
  52. l=2;
  53. }
  54. else {
  55. l1=(l/10)%10;
  56. l2=l%10;
  57. l3=(l/100)%10;
  58. work[g+1]=(char)l1+48;
  59. work[g+2]=(char)l2+48;
  60. work[g+3]=(char)l3+48;
  61. g=g+4;
  62. l=2;
  63. }
  64. }
  65. }
  66. }
  67. }
  68. work[g]=0;
  69.  
  70.  
  71.  
  72. cout<<work<<endl;
  73.  
  74.  
  75. }
  76. return 0;
  77. }
  78.  
Success #stdin #stdout 0s 15240KB
stdin
4
OPSS
ABCDEF
ABBCCCDDDDEEEEEFGGHIIJKKKL
AAAAAAAAAABBBBBBBBBBBBBBBB
stdout
OPSS
ABCDEF
ABBC3D4E5FGGHIIJK3L
A10B16