목차

괄호

ps
링크acmicpc.net/…
출처BOJ
문제 번호10422
문제명괄호
레벨골드 4
분류

수학, 카탈랑 수

시간복잡도O(n+T)
인풋사이즈n<=5000, T<=100
사용한 언어Python
제출기록31508KB / 100ms
최고기록60ms
해결날짜2020/11/16

풀이

코드

"""Solution code for "BOJ 10422. 괄호".

- Problem link: https://www.acmicpc.net/problem/10422
- Solution link: http://www.teferi.net/ps/problems/boj/10422
"""

MOD = 1_000_000_007
MAX_SIZE = 25000


def main():
    inv = [0, 1]
    for i in range(2, MAX_SIZE + 3):
        inv.append(-(MOD // i) * inv[MOD % i])
    catalan_nums = [1]
    for i in range(MAX_SIZE):
        catalan_nums.append(2 * (2 * i + 1) * inv[i + 2] * catalan_nums[i] %
                            MOD)

    T = int(input())
    for _ in range(T):
        L = int(input())
        print(0 if L % 2 else catalan_nums[L // 2])


if __name__ == '__main__':
    main()