eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

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

опубликовано 05.03.2012, 22:32:40

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

awpris ответил:
нет
опубликовано 10.03.2012, 12:46:13

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

awpris ответил:
25
опубликовано 07.04.2012, 17:45:09

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

опубликовано 14.12.2012, 15:59:08

why test 10 wrong answer?

опубликовано 27.09.2014, 22:17:47

Test case 10 is empty string

опубликовано 30.09.2014, 15:27:35

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

опубликовано 29.01.2016, 11:44:06

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

опубликовано 31.07.2016, 21:06:59

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

опубликовано 31.07.2016, 21:12:05

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

опубликовано 31.07.2016, 21:16:36

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

опубликовано 03.04.2024, 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(); 
}

}