-
[백준/BOJ] 10422번 괄호 (C++)알고리즘 문제풀이/백준 2021. 2. 22. 17:45
DP 유형의 문제, 카탈린 수의 개념을 알고 있어야 함!
카탈린 수의 점화식은 아래와 같습니다.
#include <iostream> using namespace std; long long dp[2501]; // n쌍의 올바른 괄호를 만들 수 있는 경우의 수 int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); int T, L; long long answer; dp[0] = 1, dp[1] = 1; for(int i = 2; i <= 2500; i++) { for(int j = 0; j <= i - 1; j++) { dp[i] = (dp[i] + dp[j] * dp[i - 1 - j]) % 1000000007; // 카탈린 수 } } cin >> T; while(T--) { cin >> L; answer = L % 2 == 0 ? dp[L / 2] : 0; cout << answer << "\n"; } }
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준/BOJ] 16637번 괄호 추가하기 (C++) (0) 2021.03.21 [LeetCode] Best Time to Buy and Sell Stock (C++) (0) 2021.03.07 [백준/BOJ] 12869번 뮤탈리스크 (C++) (2) 2021.02.19 [프로그래머스/Level 3] 기둥과 보 설치 (C++) (0) 2021.02.17 [백준/BOJ] 12886번 돌 그룹 (C++) (0) 2021.02.15