fork download
  1. import java.util.*
  2.  
  3. fun main() {
  4. val sc = Scanner(System.`in`)
  5. val N = sc.nextLine().toInt()
  6.  
  7. repeat(N) {
  8. val stack = Stack<Char>()
  9.  
  10. loop@ for (c in sc.nextLine()) {
  11. when (c) {
  12. '(' -> stack.add(c)
  13. ')' -> {
  14. if (stack.isNotEmpty() && stack.peek() == '(') {
  15. stack.pop()
  16. } else {
  17. stack.add(c)
  18. break@loop
  19. }
  20. }
  21. }
  22. }
  23. if (stack.isEmpty()) {
  24. println("YES")
  25. } else {
  26. println("NO")
  27. }
  28. }
  29. }
Success #stdin #stdout 0.15s 42096KB
stdin
6
(())())
(((()())()
(()())((()))
((()()(()))(((())))()
()()()()(()()())()
(()((())()(
stdout
NO
NO
YES
NO
YES
NO