Вывести все правильные скобочные выражения длиной N, состоящие из круглых и квадратных скобок. Ввод В первой строке находится единственное число N. Вывод Каждое выражение выводится в отдельной строке. Ограничения 1 ≤ N ≤ 14, N - четное. Вывести все правильные скобочные выражения длиной N, состоящие из круглых и квадратных скобок. Ввод В первой строке находится единственное число N. Вывод Каждое выражение выводится в отдельной строке. Ограничения 1 ≤ N ≤ 14, N - четное.
if len(current_str) == N:
if open_round == 0 and open_square == 0:
print(current_str)
return
if open_round < N // 2:
generate_balanced_brackets(N, current_str + '(', open_round + 1, open_square)
if open_square < N // 2 and open_square < open_round:
generate_balanced_brackets(N, current_str + '[', open_round, open_square + 1)
if open_round > 0:
generate_balanced_brackets(N, current_str + ')', open_round - 1, open_square)
if open_square > 0 and open_square > open_round:
generate_balanced_brackets(N, current_str + ']', open_round, open_square - 1)
N = int(input())
if N % 2 != 0:
print("N должно быть четным числом")
else:
generate_balanced_brackets(N, "", 0, 0)
Пример:
Input:4
Output:
(()[)
([](
()[]
[])(
][()
])(
)[](
)()[
][]