fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. bool BracketChecker(string a)
  4. {
  5. stack<char> s;
  6. char x;
  7. for (int i=0; i<a.length(); i++)
  8. {
  9. if (a[i]=='('||a[i]=='['||a[i]=='{')
  10. {
  11. s.push(a[i]);
  12. continue;
  13. }
  14.  
  15. if (s.empty())
  16. return false;
  17.  
  18. switch (a[i])
  19. {
  20. case ')':
  21. x = s.top();
  22. s.pop();
  23. if (x=='{' || x=='[')
  24. return false;
  25. break;
  26. case '}':
  27. x = s.top();
  28. s.pop();
  29. if (x=='(' || x=='[')
  30. return false;
  31. break;
  32. case ']':
  33. x = s.top();
  34. s.pop();
  35. if (x =='(' || x == '{')
  36. return false;
  37. break;
  38. }
  39. }
  40.  
  41. return (s.empty());
  42. }
  43. int main()
  44. {
  45. string a;
  46. cin>>a;
  47. if (BracketChecker(a))
  48. cout<<"VALID";
  49. else
  50. cout<<"INVALID";
  51. return 0;
  52. }
Success #stdin #stdout 0s 4468KB
stdin
{([])}()
stdout
VALID