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