А1043

Задача

Построить все правильные скобочные выражения длины 10, то есть, которые содержат по 5 левых и по 5 правых скобок.

Код на языке С++:

Посмотреть программу можно здесь

Код на языке Java:

Ссылка на программу: http://ideone.com/9MjHSA

Решение:

В переменной [latex]x[/latex] мы будем хранить количество открытых ([latex]»(«[/latex]) скобок. Далее  проверяем условие, что если [latex]x>0[/latex], то можем поставить закрывающую ([latex]»)»[/latex]) скобку. Идем дальше, смотрим сколько свободных мест осталось и если мест осталось столько же, сколько открывающих, то все остальные закрывающие.

Фесенко Катерина Володимирівна
Фесенко Катерина Володимирівна

Latest posts by Фесенко Катерина Володимирівна (see all)

One thought on “А1043

  1. Какая задача хорошая, правда?
    — Ваша ссылка на https://ideone.com/P50DRL не работает. Скорее всего Вы засекретили код.
    — Вы пишите «и если мест осталось столько же, сколько открывающих», но в коде Вы не это проверяете.
    — Вы совсем забыли объяснить, почему эта рекурсивная функция обязательно переберет все возможные расстановки скобок.

Добавить комментарий