fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. int n, i, top, s;
  5. char t[10001];
  6.  
  7. scanf("%d", &n);
  8. while(n--){
  9. top = i = s = 0;
  10. scanf("%s", &t);
  11. while(t[i]){
  12. if(t[i]==')'){
  13. if(t[top-1]=='('){
  14. top--;
  15. } else {
  16. printf("NO\n");
  17. s = -1;
  18. break;
  19. }
  20. } else if(t[i]=='}'){
  21. if(t[top-1]=='{'){
  22. top--;
  23. } else {
  24. printf("NO\n");
  25. s = -1;
  26. break;
  27. }
  28. } else if(t[i]==']'){
  29. if(t[top-1]=='['){
  30. top--;
  31. } else {
  32. printf("NO\n");
  33. s = -1;
  34. break;
  35. }
  36. } else {
  37. t[top++] = t[i];
  38. }
  39. i++;
  40. }
  41. if(s==0){
  42. if(top==0) printf("YES\n");
  43. else printf("NO\n");
  44. }
  45. }
  46. return 0;
  47. }
Success #stdin #stdout 0s 2252KB
stdin
4
()()
({[}])
({}[(){}])
({}[]
stdout
YES
NO
YES
NO