eolymp
bolt
Try our new interface for solving problems
Məsələlər

Баланс скобок

dərc olunub 05.03.12 22:32:40

можно пример теста№7 ?

awpris cavab verdi:
нет
dərc olunub 10.03.12 12:46:13

какое количество тестов(n)?

awpris cavab verdi:
25
dərc olunub 07.04.12 17:45:09

в примере может быть пустая строка?

dərc olunub 14.12.12 15:59:08

why test 10 wrong answer?

dərc olunub 27.09.14 22:17:47

Test case 10 is empty string

dərc olunub 30.09.14 15:27:35

> VRudenko > >"если A и B правильны, то AB правильно > если A правильно, то (A) и [A] правильны" > > Что это значит? Можете привести пример? > A - [()], B - [(())], например. 1) 2 последовательности правильны. AB - [()][(())] - тоже правильна. 2) (A)=([()]) - правильна. [A]=[[()]] - правильна.

dərc olunub 29.01.16 11:44:06

Присутній тест з порожнім рядком?

dərc olunub 31.07.16 21:06:59

что значит оно является пустым если A и B правильны, то AB правильно если A правильно, то (A) и [A] правильны?

dərc olunub 31.07.16 21:12:05

хотябы сказали что означает А B

dərc olunub 31.07.16 21:16:36

who knows what mean if A and B correct it means AB correct too and e.t.c.

dərc olunub 03.04.24 02:16:58

import java.util.Scanner; import java.util.Stack;

public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

    int n = scanner.nextInt();
    scanner.nextLine(); 

    for (int i = 0; i < n; i++) {
        String expression = scanner.nextLine();
        boolean isCorrect = checkExpression(expression);
        System.out.println(isCorrect ? "Yes" : "No");
    }
}

public static boolean checkExpression(String expression) {
    Stack<Character> stack = new Stack<>();

    for (char c : expression.toCharArray()) {
        if (c == '(' || c == '[') {
            stack.push(c);
        } else if (c == ')' || c == ']') {
            if (stack.isEmpty()) {
                return false;
            }

            char top = stack.pop();

            if ((c == ')' && top != '(') || (c == ']' && top != '[')) {
                return false; 
            }
        }
    }

    return stack.isEmpty(); 
}

}