Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. char s[100010];
  7. int poz;
  8.  
  9. string eval();
  10.  
  11. string rez()
  12. {
  13. string str;
  14.  
  15. if(s[poz] == '[')
  16. {
  17. poz++;
  18. str = eval();
  19. poz++;
  20. return str;
  21. }
  22.  
  23. while(s[poz] >= 'a' && s[poz] <= 'z')
  24. str.push_back(s[poz++]);
  25.  
  26. return str;
  27. }
  28.  
  29. string eval()
  30. {
  31. string str = rez();
  32.  
  33. while(isdigit(s[poz]) || isalpha(s[poz]))
  34. {
  35. if(s[poz] >= 'a' && s[poz] <= 'z')
  36. {
  37. string str1 = rez();
  38. str.append(str1);
  39. }
  40.  
  41. else
  42. {
  43. int nr = 0;
  44. while(s[poz] >= '0' && s[poz] <= '9')
  45. nr = nr * 10 + (s[poz++] - '0');
  46.  
  47. string str1 = rez();
  48.  
  49. for(int i = 1 ; i <= nr ; i++)
  50. str.append(str1);
  51. }
  52.  
  53. }
  54.  
  55. return str;
  56. }
  57.  
  58. int main()
  59. {
  60. cin >> s;
  61. cout << eval();
  62. return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement