#45125: yes!!!


x__1 (^_^ 809-34)


def solve(N):
    @lru_cache(None)
    def generate(now, nL, nR):
        if now == 2 * N:
            return ['']
        results = []
        if nL < N:
            for combo in generate(now + 1, nL + 1, nR):
                results.append('(' + combo)
        if nR < nL:
            for combo in generate(now + 1, nL, nR + 1):
                results.append(')' + combo)
        return results

    return generate(0, 0, 0)
通過檢測
#45126: Re: yes!!!


x__1 (^_^ 809-34)


def solve(N):
    @lru_cache(None)
    def generate(now, nL, nR):
        if now == 2 * N:
            return ['']
        results = []
        if nL < N:
            for combo in generate(now + 1, nL + 1, nR):
                results.append('(' + combo)
        if nR < nL:
            for combo in generate(now + 1, nL, nR + 1):
                results.append(')' + combo)
        return results

    return generate(0, 0, 0)
通過檢測


記憶體壓線