Generate Parentheses - State Space Search

Track two counts: open parentheses used and close parentheses used.

1.1. You can add ( if open < n.

2.2. You can add ) if close < open (ensures validity).

3.3. When open == close == n, add the string to results.

This naturally generates only valid combinations.