fork download
  1. #include <iostream>
  2. #include <list>
  3. #define FOR(i,a,b) for(int i=a; i<b; i++)
  4. #define dbug(x) #x<<": "<<x<<' '
  5. using namespace std;
  6. int n,m,p;
  7. list<char> s;
  8. list<char>::iterator it;
  9. void del()
  10. {
  11. int os=0,cs=0;
  12. if(*it == '(')
  13. {
  14. do
  15. {
  16. if(*it=='(')
  17. os++;
  18. else
  19. cs++;
  20. s.erase(it);
  21. it++;
  22. } while(os>cs);
  23. }
  24. else
  25. {
  26. do
  27. {
  28. if(*it=='(')
  29. os++;
  30. else
  31. cs++;
  32. s.erase(it);
  33. it--;
  34. } while(cs>os);
  35. it++;
  36. }
  37. }
  38. int main()
  39. {
  40. cin>>n>>m>>p;
  41. FOR(i,0,n)
  42. {
  43. char tmp;
  44. cin>>tmp;
  45. s.push_back(tmp);
  46. }
  47. it=s.begin();
  48. while(--p)
  49. it++;
  50. while(m--)
  51. {
  52. char tmp;cin>>tmp;
  53. if(tmp == 'R')
  54. it++;
  55. else if(tmp == 'L')
  56. it--;
  57. else del();
  58. }
  59.  
  60. for (it=s.begin(); it!=s.end(); ++it)
  61. std::cout << *it;
  62. }
Success #stdin #stdout 0s 3416KB
stdin
8 4 5
(())()()
RDLD
stdout
()