-
[백준/BOJ] 10422번 괄호 (C++)알고리즘 문제풀이/백준 2021. 2. 22. 17:45
10422번: 괄호
‘(‘, ‘)’ 문자로만 이루어진 문자열을 괄호 문자열이라 한다. 올바른 괄호 문자열이란 다음과 같이 정의된다. ()는 올바른 괄호 문자열이다. S가 올바른 괄호 문자열이라면, (S)도 올바른 괄호
www.acmicpc.net
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