All correct parenthesizations

Given some pairs of corresponding open and close parenthesis, we can use
them to build an infinite number of correct parenthesizations. For
instance, with the pairs ( ) and [ ], all correct parenthesizations are
defined by the grammar
$$\begin{align*}
P & \rightarrow \enspace <\mbox{empty word}> \\
P & \rightarrow \texttt{(} P \texttt{)} P \\
P & \rightarrow \texttt{[} P \texttt{]} P
\end{align*}$$

Can you generate all correct parenthesizations of a given size?

Input

Input consists of a non-empty string s and a strictly positive even
number n. The string s has even size, and includes the corresponding
pairs of open and close parenthesis: s[0] with s[1], s[2] with s[3],
etc.

Output

Print all correct parenthesizations of size n that can be made up with
the corresponding open and close parenthesis included in s.

Observation

You can print the parenthesizations in any order.

Problem information

Author: Salvador Roura

Generation: 2026-01-25T11:26:13.745Z

© Jutge.org, 2006–2026.
https://jutge.org
