## Generate Brackets

1. [Генерация скобочных последовательностей](https://contest.yandex.ru/contest/8458/problems/D/)
2. [Разбор решения](https://youtu.be/zU-LndSG5RE?t=506)

Дано целое число n. Требуется вывести все правильные скобочные последовательности длины 2 ⋅ n, упорядоченные лексикографически (см. https://ru.wikipedia.org/wiki/Лексикографический_порядок).
В задаче используются только круглые скобки.

```swift
func generateBrackets(_ str: String, l countOfOpen: Int, r countOfClosed: Int, pairsOfBrackets: Int) {
     if countOfOpen == pairsOfBrackets && countOfClosed == pairsOfBrackets {
        print(str)
    } else {
        if countOfOpen < pairsOfBrackets { generateBrackets(str + "(", l: countOfOpen + 1, r: countOfClosed, pairsOfBrackets: pairsOfBrackets) }
        if countOfClosed < countOfOpen { generateBrackets(str + ")", l: countOfOpen, r: countOfClosed + 1, pairsOfBrackets: pairsOfBrackets) }
    }
}

generateBrackets("", l: 0, r: 0, pairsOfBrackets: 4)
```

---

[2.1.4.2 Count Chart In String Theme](./2.1.4.2%20CountCharInStr.md) | [Back To iTWiki Contents](https://github.com/eldaroid/iTWiki) | [2.1.4 Sorting Theme](../2.1.5%20Sorting/)
