Sequências de Parênteses

Dado um inteiro positivo n, gere todas as sequências de parênteses válidas de tamanho 2n e imprima-as em ordem lexicográfica.
A definição de uma sequência de parênteses válida é a seguinte:
  • Uma string vazia é considerada uma sequência de parênteses válida.
  • Se S é uma sequência de parênteses válida, então (S) também é uma sequência de parênteses válida.
  • Se A e B são sequências de parênteses válidas, então AB também é uma sequência de parênteses válida.

Entrada

A entrada consiste em um único inteiro n (1 ≤ n ≤ 11).

Saída

Imprima todas as sequências de parênteses válidas de tamanho 2n, com cada sequência em uma linha separada. As sequências devem ser exibidas em ordem lexicográfica.

Exemplos

Input
Output
3
((())) (()()) (())() ()(()) ()()()

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 7 MB

To check your solution you need to sign in
Sign in to continue